基于HAL库手把手移植FreeRTOS10.4.1
基于HAL库手把手移植FreeRTOS10.4.1 目录 基于HAL库手把手移植FreeRTOS10.4.1 (一)裸机工程创建 (二)移植FreeRTOS (一)裸机工程创建 使用STM32CubeMX创建裸机工程: 这里我是用的芯片是STM32F103RBT6,时钟主频为72MHz,配置时钟树: 配置调试串口1: 配置两个LED灯: 由于FreeRTOS使用系统嘀嗒定时器当作心跳,HAL库也使用了这个定时器,所以我们将HAL库的定时器改为其他,这里我该为了定时器4: 配置中断,注意这里一定要选择组4,也就是全部为抢占优先级: 取消掉systick的回调函数调用: 输出工程: (二)移植FreeRTOS FreeRTOS源码官网下载地址: https://www.freertos.org/ 解压FreeRTOS源码包有如下文件结构: 在Keil工程目录下新建FreeRTOS文件夹用于存放freertos的源码。 拷贝 FreeRTOS/Source/ 文件夹内的以下文件,放入keil工程目录FreeRTOS文件夹内,效果如下图: 在Keil中将FreeRTOS源码加入到工程内: 打开 stm32f1xx_it.c 文件,在头部添加FreeRTOS的三个函数导入: extern void xPortPendSVHandler ( void ) ; extern void