【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境

【ART-Pi】使用STM32CubeIDE搭建开发环境

  • STM32CubeIDE
  • STM32CubeIDE新建工程
    • 进入芯片选型界面
    • HSE和LSE时钟源设置
    • 时钟系统(时钟树)配置
    • Generate Code

STM32CubeIDE

STM32CubeIDE安装比较简单,这里略过,可以百度搜索相关教程

STM32CubeIDE新建工程

【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第1张图片

进入芯片选型界面

选择具体的芯片型号:STM32H750XBH6
【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第2张图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/88fc3a65333a45c08ff4a38ad9890d6c.png
【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第3张图片

HSE和LSE时钟源设置

进入工程主设计界面后,首先设置时钟源HSE和LSE
【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第4张图片
我们都选择了Crystal/Ceramic Resonator,表示外部晶振作为它们的时钟源。我们开发板的外部高速晶振和外部低速晶振分别是:8MHZ和32.768KHZ。所以HSE时钟频率就是8MHZ,LSE时钟频率就是32.768KHZ。
选项Master Clock Output 1 用来选择是否使能MCO1引脚时钟输出,选项Master Clock Output 2用来选择是否使能MCO2引脚时钟输出,最后一个选项Audio Clock Input(I2S_CKIN)用来选择是否从I2S_CKIN(PC9)输入I2S时钟。这里大家要注意,因为选项Master Clock Output 2和选项Audio Clock Input(I2S_CKIN)都是使用的PC9引脚,所以如果我们使能了其中一个,那么另一个选项会自动显示为红色,也就是不允许配置,这就是STM32CubeMX的自动冲突检测功能。

时钟系统(时钟树)配置

进入Clock Configuration配置栏之后可以看到,界面展现一个完整的STM32H7时钟系统框图。从这个时钟树配置图可以看出,配置的主要是外部晶振大小,分频系数,倍频系数以及选择器。在我们配置的工程中,时钟值会动态更新,如果某个时钟值在配置过程中超过允许值,那么相应的选项框会红色提示。
这里,我们将配置一个以HSE为时钟源,配置PLL1相关参数,然后系统时钟选择PLLCLK为时钟源,最终配置系统时钟为480MHz的过程。同时,还配置了AHB,APB1,APB2、APB3、APB4和Systick的相关分频系数。由于图片比较大,我们把主要的配置部分分两部分来讲解,第一部分是配置系统时钟,第二部分是配置SYSTICK、AHB、APB1、APB2、APB3和APB4的分频系数。
【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第5张图片我们把系统时钟配置分为七个步骤,分别用标号1~7表示,详细过程为:
1、时钟源参数设置:我们选择HSE为时钟源,所以我们要根据硬件实际的高速晶振频率(这里我们是8MHZ)填写。
2、时钟源选择:我们配置选择器选择HSE即可。
3、PLL1分频系数M配置。分频系数M我们设置为2。
4、PLL1倍频系数N配置。倍频系数N我们设置为240。
5、PLL1分频系数P配置。分频系数P我们配置为2。
6、系统时钟时钟源选择:PLL,HSI还是HSE。我们选择PLL,选择器选择PLLCLK即可。
7、经过上面配置以后此时SYSCLK=480Mhz。
经过上面的7个步骤,就会生成标准的480MHz系统时钟。接下来我们只需要配置AHB、APB1、APB2、APB3、APB4和Systick的分频系数,就可以实现sys.c文件中的sys_stm32_clock_init函数配置的部分时钟系统。

Generate Code

【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第6张图片
【ART-Pi学习FreeRTOS】使用STM32CubeIDE搭建开发环境_第7张图片

你可能感兴趣的:(FreeRTOS学习,stm32,单片机,嵌入式硬件)