RTOS学习笔记(二):FreeRTOS移植

1.获取FreeRTOS源码

提供的例程基于FreeRTOS的V10.4.6版本

1.1FreeRTOS官网获取

  1. 访问 FreeRTOS官网
  2. 点击页面的Download按钮,点击后会自动下载源码的压缩包。

该方法的缺点是下载速度较慢。

1.2正点原子资料获取

也可以去正点原子官网下载RTOS相关资料,其中就包含FreeRTOS的源码。

不管以哪种方式下载,源码的压缩包解压后都应当包含以下文件:

在这里插入图片描述

2.FreeRTOS源码内容

文件夹中的主要文件的作用如下表所示:

名称描述
FreeRTOSFreeRTOS内核
FreeRTOS-PlusFreeRTOS组件
tools工具
Github-FreeRTOS-HomeFreeRTOS的GitHub仓库链接
Quick_Start_Guide快速入门指南官方文档链接
Upgrading-to-FreeRTOS-xxx升级到指定FreeRTOS版本官方文档链接
History.txtFreeRTOS历史更新记录
其他其他

2.1 FreeRTOS内核

打开文件夹FreeRTOS,可以看到一些其他的文件,这些文件的作用如下表所示:

名称描述
DemoFreeRTOS演示例程
LicenseFreeRTOS相关许可
SourceFreeRTOS源码
Test公用以及移植层测试代码

2.1.1 Demo文件夹

Demo文件夹内部就是FreeRTOS的演示例程,支持多种芯片架构和多种芯片型号。

这些演示例程可以帮助学习,在代码移植过程中非常有用。

2.1.2 Source文件夹

该文件夹下存放的就是FreeRTOS的源码,正如之前所说,FreeRTOS是一个轻量级、可裁剪的RTOS,所以其内部的代码文件非常简洁。

名称描述
include内包含了FreeRTOS的头文件
portable内包含了FreeRTOS的移植文件
croutine.c协程相关文件
event_groups.c事件相关文件
list.c列表相关文件
queue.c队列相关文件
stream_buffer.c流式缓冲区相关文件
task.c任务相关文件
timer.c软件定时器相关文件

其中,include和portable文件夹,list.c、queue.c、task.c文件是必须的,其他文件如果不需要也可以不使用。

FreeRTOS归根到底都是软件层面的东西,而要和硬件层面相联系所靠的就是portable文件夹。由于STM32多用MDK开发,因此只会介绍其中部分移植的文件。

  • keil:指向RVDS文件夹
  • RVDS:不同内核芯片的移植文件
  • MemMang:内存管理文件

3.FreeRTOS移植

移植准备

  • FreeRTOS源码
  • 基础工程

移植步骤

  1. 将FreeRTOS源码添加至基础工程、头文件路径等。在这一步中,源码主要指的是portable文件夹中的文件,并且并非所有的文件都会被用到,因此可以删去一些自己不需要的文件。
  2. 添加FreeRTOSConfig.h配置文件。该文件的获取方法有三种,分别是:根据需求自己编写、DEMO例程获取以及从正点原子提供的例程中直接获取。
  3. 修改SYSTEM文件夹,该文件夹下主要包括有:sys.c、delay.c、usart.c。
  4. 修改中断相关文件(SysTick中断、SVC中断、PendSV中断。
  5. 添加应用程序,验证是否移植成功

注意:由于这部分是正点原子视频课的笔记,所以非常依赖于正点原子的开发板。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值