一.在STM32CubMX中添加FREERTOS系統
1.外部時鐘配置(也可配內部時鐘)
該開發板爲STM32F4探索者,查看原理圖可知,其外部時鐘爲8MHz
所以時鐘樹配置如下:
此時主時鐘已達到最大。
2.添加在線調試功能(適用於Jlink,stlink)
3.添加串口外設,方便調試輸出至上位機(PC)
4.添加一個FreeRTOS系統
(1)
MINIMAL_STACK_SIZE爲棧大小。
TOTAL_HEAP_SIZE爲堆大小(比RAM小一些),內存管理方式有5種,這裏有簡單介紹(https://blog.csdn.net/qq_33974167/article/details/102694207),這裏用heap_4,
使能USE_MALLOC_FAILED_HOOK ,CHECK_FOR_STACK_OVERFLOW 將生成兩個函數 ,將在內存分配失敗時被調用
和堆棧溢出時被調用
在函數定義中,加上無限循環 ,就可以知道 程序導致的崩潰 ,將是這兩種。
(2)由於使用了FreeRTOS所以不能使用SYStick時鐘,應將換爲TIM1時鐘
這樣 使用FreeRTOS系統的工程就創建好了
二.STM32CubMX生成的FreeRTOS目錄介紹