一、使用CubeMX快速移植
1. 在 SYS 选项里,将 Debug 设为 Serial Wire ,并且将 Timebase Source 设为 TIM2 (其它定
时器也行)。
2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator 。
3. 时钟按下图配置
4. 选择 FREERTOS 选项,并将 Interface 改为 CMSIS_V1 。V1 和 V2 有啥区别?下文解释。
5. 配置项目信息,并导出代码。
二、一些常见问题
1. Timebase Source 为什么不能设置为 SysTick ?
裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms定时,用于任务调度),所以需要需要为其他总线提供另外的时钟源。
2. FreeRTOS 版本问题
V2 的内核版本更高,功能更多,在大多数情况下 V1 版本的内核完全够用。
3. FreeRTOS 各配置选项卡的解释
Events:事件相关的创建
Task and Queues: 任务与队列的创建
Timers and Semaphores: 定时器和信号量的创建Mutexes: 互斥量的创建
FreeRTOS Heap Usage: 用于查看堆使用情况
config parameters: 内核参数设置,用户根据自己的实际应用来裁剪定制 FreeRTOS 内核Include parameters: FreeRTOS 部分函数的使能
User Constants: 相关宏的定义,可以自建一些常量在工程中使用Advanced settings:高级设置