1.FreeRTOS源码简介
- 【一级目录:/】以下FreeRTOS的源码,其中,FreeRTOS文件夹最为重要,代笔FreeRTOS内核
- 【二级目录:/FreeRTOS】以下为FreeRTOS文件夹的内容,比较重要的有Demo文件夹和Source文件夹
- 【三级目录:/FreeRTOS/Demo】以下为Demo文件夹的内容,包括 FreeRTOS 的演示例程,支持多种芯片架构,支持多种不同型号芯片。对于入门学习 FreeRTOS 是十分有帮助,在学习移植FreeRTOS 的过程中就可以参考这些演示工程。
- 【三级目录:/FreeRTOS/Source】以下为Sorce文件夹的内容,其中Portable包含移植文件,非常重要
- 【四级目录:/FreeRTOS/Source/protable】portable文件夹里面的东西就是连接桥梁,常用使用MDK开发,这里只重点介绍其中的部分移植文件
2.FreeRTOS移植
- 移植准备:下载好RTOS源码,同时准备好HAL库的基本工程模板(建议使用内存管理HAL库工程)
- 添加FreeRTOS源码:将FreeRTOS源码添加至基础工程、头文件路径等
- **FreeRTOSConfig.h **:添加FreeRTOSConfig.h 配置文件
- 修改SYSTEM文件:修改SYSTEM文件中的sys.c、delay.c、usart.c
- 修改中断相关文件:修改Systick中断、SVC中断、PendSV中断
- 添加应用程序:验证移植是否成功
移植步骤细节根据《 FreeRTOS开发指南》的第二章操作
3.系统配置文件说明
FreeRTOSConfig.h 配置文件作用:对FreeRTOS的功能进行配置和裁剪,以及API函数的使能等
- 官方的在线文档中有详细的说明:https://www.freertos.org/a00110.html
- 正点原子《FreeRTOS开发指南》第三章的内容——FreeRTOS系统配置
相关宏大致可分为三类:
- “INCLUDE”配置:FreeRTOS中可选的API函数
- “config”:完成FreeRTOS的功能配置和裁剪
- 其他配置项:PendSV宏定义、SVC宏定义
对于初学者来说,这些配置内容,目前有个感性的认识即可,随着后面例程的使用就会逐渐熟练起来