STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

时间:2024-04-04 22:53:28

一.在STM32CubMX中添加FREERTOS系统

1.外部时钟配置(也可配内部时钟)

                                  STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

该开发板为STM32F4探索者,查看原理图可知,其外部时钟为8MHz

所以时钟树配置如下:

              STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

此时主时钟已达到最大。

 

2.添加在线调试功能(适用于Jlink,stlink)

                                     STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

3.添加串口外设,方便调试输出至上位机(PC)

                           STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

4.添加一个FreeRTOS系统

(1)

                             STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

MINIMAL_STACK_SIZE为栈大小。

                                                  STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

TOTAL_HEAP_SIZE为堆大小(比RAM小一些),内存管理方式有5种,这里用heap_4,

使能USE_MALLOC_FAILED_HOOK ,CHECK_FOR_STACK_OVERFLOW 将生成两个函数 ,将在内存分配失败时被调用

和堆栈溢出时被调用

STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

在函数定义中,加上无限循环 ,就可以知道 程序导致的崩溃 ,将是这两种。

(2)由于使用了FreeRTOS所以不能使用SYStick时钟,应将换为TIM1时钟

STMCubMx(STM32F4)之 FreeRTOS工程创建(一)

这样 使用FreeRTOS系统的工程就创建好了