STM32f103c8t6移植FreeRTOS
准备工作:
- 准备freertos源码(可以从官网下载freertos源码下载)
- 准备一个基本的STM32工程(蜂鸣器例程)
移植步骤:
- 例程工程文件中创建一个新文件夹FreeRTOS,存放以下三个子文件夹:inc,src,port
- FreeRTOS源码复制到新建的文件夹中
需要基本熟悉freertos源码的目录文件:
1、在源码的\FreeRTOS\Source中,将其所有c文件复制到src文件夹中
2、将源码目录\FreeRTOS\Source\include 的所有文件复制到inc文件夹中
3 将源码目录\FreeRTOS\Source\portable\Menmang中的文件和\FreeRTOS\Source\portable\RVDS\ARM_CM3中的文件放入至port文件夹中,其放完之后如下:
4、从freertos的源码中找到FreeRTOSConfig.h文件,查找路径为:FreeRTOS\Demo\CORTEX_STM32F103_Keil。将该路径下的FreeRTOSConfig.h文件复制到自己工程中的FreeRTOS下。
-
打开工程文件,添加三个分组freertos_inc,freertos_src,freertos_port,将上述复制的文件内容添加到对应分组中,为了方便,将FreeRTOSConfig.h文件添加到freertos_inc分组中。完成之后如图:
-
添加头文件,将所有我们新建的文件夹路径添加上去。如图:
-
修改FreeRTOSConfig.h文件,在最后面,#endif前,添加三个中断服务函数的宏定义
因为操作系统已经实现了这三个中断服务函数,所以需要将stm32f10x_it.c文件中的三个空的中断服务函数注释掉:
这样之后整个FreeRTOS的移植过程就结束了,编译一下,没有错误!