FreeRTOS:如何移植到STM32F1中(附例程模板)

FreeRTOS移植到STM32F1系列

准备工作

一个是官网:http://www.freertos.org/.
另外一个是代码托管网站:https://sourceforge.net/projects/freertos/files/FreeRTOS/.
FREERTOS移植成功的模板

移植的准备工作主要分为2个部分:
> FreeRTOS源码V9.0.0
> 一个空stm32f1系列的工程文档
 先学会用,在深入理解,本章就从头开始移植到可以开始使用!

首先把源码解压
在这里插入图片描述
解压后的内容
在这里插入图片描述
在这里插入图片描述
然后我们准备一个空的工程文档

移植过程

1. 首先解压FREERTOS源码的压缩包
2. 源码里面有FreeRTOS和FreeRTOS-Plus主要文件
3. 创建一个新的工程,工程里面新建一个文件夹FREERTOS
4. 把源码里面有FreeRTOS内文件夹内的Source都拷进来
5. 然后把PORTABLE里面的文件夹删除的只剩下自己需要的Keil、MenMang、RVDS等
6. 然后打开KEIL  向工程里面添加FREERTOS的文件 并把.h路径包括进去
7. 其中包括FREERTOS的include和portable
8. portable中的MemMang下的heap_4和RVDS文件夹下的ARM3的port
9. 然后找一个有的FREERTOS文件,把FreeRTOSConf.h拷进源码中的 include 文件夹下
10. 把sys delay usart 换成freertos版本的
11. 在 sys.h 文件里面用宏 SYSTEM_SUPPORT_OS 来定义是否使用 OS, 我们使用了 FreeRTOS,
  	所以应该将宏 SYSTEM_SUPPORT_OS 改为 1。 将 stm32f10x_it.c 中的三个函数屏蔽掉
  	SysTick_Handler()、SVC_Handler()和 PendSV_Handler()

1.一个新的工程模板
在这里插入图片描述
2.建立一个新的文件夹名字叫:FreeRTOS
在这里插入图片描述
3.打开源码中FreeRTOS的文件夹
在这里插入图片描述
4.打开Source文件夹
在这里插入图片描述
5.把里面的东西都复制
在这里插入图片描述
6.把源码里面有FreeRTOS内文件夹内的Source都拷进来工程里面新建的文件夹FREERTOS
在这里插入图片描述
7.点击进入porttable文件夹,删除里面的东西,只剩下自己需要的Keil、MenMang、RVDS等
在这里插入图片描述
8.进入空的工程中去点击这个按钮
在这里插入图片描述
9.创建FREERTOS的内容,并添加内容
在这里插入图片描述
10.如图所示,这里的portable中的MemMang下的heap_4和RVDS文件夹下的ARM3的port,因为我们用得stm32f1的芯片,是属于M3内核的。
在这里插入图片描述
11.添加freertos的文件路径
在这里插入图片描述
在这里插入图片描述
12.然后找一个有的FREERTOS文件,把FreeRTOSConf.h拷进源码中的 include 文件夹下
在这里插入图片描述
13.同样的,在使用freertos的时候,原子哥中的sys delay usart三个文件也需要都换成freertos,这里的话主要是sys.h中使能OS,usart包含freertos和port的头文件,delay改动比较大。所以可以直接找一个现成的工程直接切换这三个文件夹。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
14. 将 stm32f10x_it.c 中的三个函数屏蔽掉SysTick_Handler()、SVC_Handler()和 PendSV_Handler()
在这里插入图片描述
15.看一下FreeRTOSConf.h这里是不是这样如果不一样可能会出问题
在这里插入图片描述
16.随便写一个程序跑跑 初始化PA8,先创建一个开始任务,然后开始任务调度。在开始任务里面创建一个LED闪烁的任务,假设LED的IO口是PA8
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_LiuChunJiang刘春江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值