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

 

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