HAL和FreeRTOS的基礎時鐘

在STM32CubeMX裏啓用FreeRTOS後,生成代碼時會出現一個如圖所示的對話框,提示要使用一個非SysTick定時器作爲HAL的基礎時鐘。爲什麼要這麼設置?什麼是HAL的基礎時鐘?爲什麼不使用FreeRTOS的時候沒有出現這個的對話框?

之前遇到這種情況,就在SYS模塊裏將HAL基礎時鐘源設置爲TIM6(如下圖),也並沒有深究其中的緣由。

最近在分析FreeRTOS的Tickless模式時,對HAL和FreeRTOS的基礎時鐘進行了代碼追蹤分析,搞清楚了其原理,整理下來。

1. 使用SysTick作爲HAL的基礎時鐘

2. 使用其他定時器作爲HAL的基礎時鐘

3. FreeRTOS的基礎時鐘

軟件開發環境:STM32CubeMX 5.3.0 + TrueSTUDIO 9.3.0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章