十九、STM32移植FreeRTOS操作系统

发布时间 2023-10-05 16:35:16作者: 稚终KINO

1.环境安装

下载FreeRTOS源码

2.移植

2.1 在STM32项目下创建freertos文件夹,然后在文件夹下创建inc、src、port文件夹

2.2 将FreeRTOS源码目录下的FreeRTOS/Source/include文件夹下的.h头文件全部复制到STM32项目的freertos/inc文件夹下

2.3 将FreeRTOS源码目录下的FreeRTOS/Source文件夹下的.c源文件全部复制到STM32项目的freertos/src文件夹下

2.4 将FreeRTOS源码目录下的FreeRTOS/Source/portable文件夹下的Keil、MemMang和RVDS/ARM_CM3文件夹复制到STM32项目的freertos/port文件夹下,其中Keil中只有一个txt文件,MemMang文件夹下是不同的内存管理文件,一般选择heap_4.c文件,RVDS/ARM_CM3文件夹下存放的是单片机m3内核,不同单片机根据不同内核进行选择

2.5 打开STM32项目,创建分组,将freertos的.c源文件添加进项目中,.h头文件路径添加到魔术棒中

2.6 复制freertos源码的Demo文件夹下找到对应的单片机和编译器文件夹,将下边的FreeRTOSConfig.h文件复制到项目的头文件文件夹中

2.7 打开FreeRTOSConfig.h文件,添加宏定义

1 #define xPortPendSVHandler PendSV_Handler
2 #define vPortSVCHandler SVC_Handler
3 #define xPortSysTickHandler SysTick_Handler

2.8 打开stm32f103x_it.c文件,注释掉已经实现的中断函数PendSV_Handler、SVC_Handler和SysTick_Handler

3.创建任务查看移植结果

3.1 主函数中创建任务,动态创建函数xTaskCreate(),开启任务调度器函数vTaskStartScheduler()

3.2 任务函数中进行相应操作