1. freeRTOS移植
FreeRTOSConfig.h里面关于时钟的配置:
首先是CPU的时钟,也就是我们当前处理器的系统时钟,要注意的是,这个地方的系统时钟是我们配置好处理器时钟之后的系统时钟,如果没有配置,那么这里就应该是上电复位后默认的时钟,比如F103,上电复位后默认的系统时钟是内部高速时钟8MHz,那么这里就要填8000000,而如果我们后续会配置系统时钟到别的值,比如我们的工程中配置了系统时钟是其支持的最大值72MHz,那么这里的宏定义值就是72000000。接着是滴答定时器的时钟,我们看下官网的解释:
这段话的意思是:在大多数cortex-m内核的mcu中,滴答定时器的时钟和MCU的时钟是一样的,此时不需要配置configSYSTICK_CLOCK_HZ。如果不一样,则需要进行配置。STM32F103的参考手册,时钟树下对于内核滴答定时器的时钟有这样一段描述:
意思是,STM32F103的RCC可以把AHB总线时钟 8分频或者不分频的时钟信号 , 反馈给内核滴答定时器当作自己的时钟源,用哪一个,依靠的是滴答定时器的控制和状态寄存器的配置。在默认情况下,HAL库中对于滴答定时器的配置是放到了HAL_InitTick()这个函数中的。这个函数中,选择了滴答定时器的时钟源SysTi