HAL和FreeRTOS的基础时钟

在STM32CubeMX里启用FreeRTOS后,生成代码时会出现一个如图所示的对话框,提示要使用一个非SysTick定时器作为HAL的基础时钟。为什么要这么设置?什么是HAL的基础时钟?为什么不使用FreeRTOS的时候没有出现这个的对话框?

HAL和FreeRTOS的基础时钟_第1张图片

之前遇到这种情况,就在SYS模块里将HAL基础时钟源设置为TIM6(如下图),也并没有深究其中的缘由。

HAL和FreeRTOS的基础时钟_第2张图片

最近在分析FreeRTOS的Tickless模式时,对HAL和FreeRTOS的基础时钟进行了代码追踪分析,搞清楚了其原理,整理下来。

1. 使用SysTick作为HAL的基础时钟

2. 使用其他定时器作为HAL的基础时钟

3. FreeRTOS的基础时钟

软件开发环境:STM32CubeMX 5.3.0 + TrueSTUDIO 9.3.0

 

你可能感兴趣的:(TrueSTUDIO,STM32Cube,FreeRTOS)