系列文章
说明
-
上一篇 FreeRTOS移植:STM32L476 nucleo-L476RG 开发板《01》 主要讲了一下如何快速搭建一个 STM32 裸机工程,其实
STM32CubeMX
可以生成 FreeRTOS 的工程,这就没有了 FreeRTOS 的移植文章 -
本篇继续讲一下 【手动】移植 FreeRTOS 的步骤,移植完成后,继续研究 FreeRTOS 的使用
环境
-
Win10 64位:当前 Windows 主流操作系统
-
Keil MDK 5.36,IDE,方便开发与调试
-
STM32CubeMX 6.11.1
本篇不再使用
获取与下载 FreeRTOS
(1)直接在 FreeRTOS 官方下载 发布的版本,压缩包,解压后使用
-
FreeRTOS 官方的网址 https://www.freertos.org/
-
点击下载 FreeRTOS,发布版本可能没有那么新,比如当前最新版本
FreeRTOS 202212.01
,但是下载的压缩包比较小,容易下载
(2)在 github 使用 Git 工具下载源码
-
FreeRTOS 主仓库
https://github.com/FreeRTOS/FreeRTOS.git
-
FreeRTOS 内核仓库
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
-
由于 FreeRTOS 内核仓库仅仅为内核代码文件,没有 Demo,因此建议直接下载 FreeRTOS 主仓库,使用 Git 命令如下
git clone https://github.com/FreeRTOS/FreeRTOS.git --recurse-submodules
- 同时把 FreeRTOS 各个 Git 子仓库一起克隆到本地
(3)在 github 直接下载 Release 版本
- 可以直接在 github 点击下载 Release 发布版本,无须使用 Git 工具
- 【备注】Github 仓库的 Release 版本地址可能会不时更新,因此建议自己打开进入网址后,下载自己想要的版本,如最新的软件版本
FreeRTOS 工程目录管理
-
直接下载下来的 FreeRTOS,需要整理一下,这样方便工程的管理,有些不需要的 Demo,无须加入工程
-
当前平台:
STM32L476
,可以参考 FreeRTOS 中的一些 Demo,找到相似 CPU,这样 CPU 部分就不需要额外移植了 -
当前 FreeRTOS 没有 STM32L476 Keil MDK5 的 Demo,因此手动搭建 FreeRTOS 工程即可,使用上次生成的 STM32L476 裸机工程
- 进入 STM32L476 裸机工程(
STM32CubeMX
生成)
Keil MDK5 添加分组
- 打开 Keil MDK5,开始工程文件的管理(分类、添加)
- 可以在 Keil MDK5 中创建
FreeRTOS/Kernel
与FreeRTOS/cpu
的分组(Group)
- cpu port 部分可以暂时选择
FreeRTOS\Source\portable\RVDS\ARM_CM4F
初步编译
- 报编译错误,找不到
"FreeRTOS.h"
compiling croutine.c...
..\FreeRTOS\Source\croutine.c(29)