一、获取FreeRTOS(熟悉)
1.1 源码获取:
- FreeRTOS官网:https://www.freertos.org/,本人所使用的例程为FreeRTOS的V10.4.6版本。
- 进入后点击下载FreeRTOS,选择“FreeRTOS 202112.00”文件,下载完成后解压到指定目录。
名称 | 描述 |
FreeRTOS | FreeRTOS内核 |
FreeRTOS-Plus | FreeRTOS组件 |
tools | 工具 |
GitHub-FreeRTOS-Home | FreeRTOS的GitHub仓库链接 |
Quick_Start_Guide | 快速入门指南官方文档链接 |
Upgrading-to-FreeRTOS-xxx | 升级到指定FreeRTOS版本官方文档链接 |
History.txt | FreeRTOS历史更新记录 |
其他 | 其他 |
FreeRTOS内核
名称 | 描述 |
Demo | FreeRTOS演示例程 |
License | FreeRTOS相关许可 |
Source | FreeRTOS源码 |
Test | 公用以及移植层测试代码 |
Demo文件夹
Demo文件夹里面就是FreeRTOS的演示例程,如下所示:我们主要看就就是这两个STM32相关的
可以看出FreeRTOS 支持多种芯片架构,支持多种不同型号芯片,对于入门学习FreeRTOS是十分有帮助的,在学习移植FreeRTOS的过程中可以参考这些演示工程。
Source文件夹
就是FreeRTOS源码
名称 | 描述 |
include | 内包含了FreeRTOS的头文件 |
portable | 内包含了FreeRTOS的移植文件 |
croutine.c | 协程相关文件 |
event_groups.c | 事件相关文件 |
list.c | 列表相关文件 |
queue.c | 队列相关文件 |
stream_buffer.c | 流式缓冲区相关文件 |
tasks.c | 任务相关文件 |
timers.c | 软件定时器相关文件 |
portable文件夹
FreeRTOS操作系统归根到底是一个软件层面的东西,那FreeRTOS是如何跟硬件联系在一起的呢?
portable文件夹里面的东西就是连接桥梁
由于我们使用MDK开发,因此这里只重点介绍其中的部分移植文件
名称 | 描述 |
Keil | 指向RVDS文件夹 |
RVDS | 不同内核芯片的移植文件 |
MemMang | 内存管理文件 |
二、FreeRTOS手把手移植(掌握)
(明天再更,家里太吵了)