初识 FreeRTOS:发展历程与版本变迁
·
FreeRTOS 是一款市场占有率最高的实时操作系统(RTOS)。它由美国的 Richard Barry 于 2003 年创建并发布,Richard Barry 长期担任其拥有者和核心维护者。
发展历程与生态
在过去的十多年中,FreeRTOS 历经了 9 个主要版本迭代,与众多半导体厂商建立了紧密的合作关系,累积吸引了全球数百万开发者,奠定了其市场领先地位。
代码获取方式
FreeRTOS 的源代码可以通过以下官方渠道获取:
1. 官方网站下载
- FreeRTOS 官网:访问 FreeRTOS.org 的 “Download” 页面,可以下载到最新的稳定版本(包括 V9 和 V10)。
- 版本选择:网站通常提供
.zip或.tar.gz格式的完整源代码包,包含内核、演示项目以及移植到不同 MCU 架构的示例。
2. GitHub 仓库
FreeRTOS 在 GitHub 上托管了多个官方仓库,开发者可以根据需要选择:
- 主仓库(包含完整示例):FreeRTOS/FreeRTOS 是历史最久、内容最全的仓库,包含内核、大量移植示例、演示项目以及配套工具。对于初学者,从这个仓库开始探索通常更方便。
- 纯内核仓库:FreeRTOS/FreeRTOS-Kernel 是后来从主仓库中拆分出来的、只包含核心调度器与内核文件的仓库,结构更清晰,适合集成到其他构建系统中。
- AWS FreeRTOS 仓库:若需要物联网相关组件(如 AWS IoT 设备 SDK、OTA 更新、安全库等),可访问 aws/amazon-freertos。该仓库基于 V10 版本,并集成了 AWS 云服务。
版本对应关系:
- V9 及以前版本:代码位于主仓库
FreeRTOS/FreeRTOS的对应分支与标签中(如V9.0.0)。 - V10 版本:代码主要位于
aws/amazon-freertos仓库,内核部分与FreeRTOS/FreeRTOS-Kernel同步。
获取方式:
- 使用
git clone命令克隆上述任一仓库。 - 若要获取特定版本(如 V9.0.0),可在克隆后使用
git checkout V9.0.0切换标签,或直接在 GitHub 的 Releases 页面下载该版本的源码压缩包。
3. 包管理器与 IDE 集成
- 嵌入式开发工具:许多 MCU 厂商的 SDK(如 STM32CubeMX、ESP-IDF、NXP MCUXpresso)已内置 FreeRTOS 选项,可在创建项目时直接勾选并自动配置。
- 包管理器:部分平台(如 PlatformIO、Arduino)也通过包管理器提供 FreeRTOS 库,方便一键安装和集成。
4. 本书配套代码
本书示例基于 FreeRTOS V9.0.0,读者可从出版社官网或随书资源页面下载完整的示例工程,其中已包含适配常见开发板(如 STM32、ESP32)的移植代码。
提示:建议初学者先从官网下载完整的 V9 版本代码包,以便获得最纯净的内核与官方文档。
重要转折:被亚马逊收购
2018 年,FreeRTOS 被亚马逊(Amazon)收购,并更名为 AWS FreeRTOS,其版本号也随之升级为 V10。
此次收购带来了一个关键变化:开源协议从原有的 GPLv2+ 变更为更加宽松的 MIT 协议。与 GPLv2+ 相比,MIT 协议限制更少,开放性更高,开发者可以更自由地使用、修改和分发。
版本区别与本书选择
- V9 及以前版本:内核成熟稳定,在收购后仍维持原样,可供需要 GPLv2+ 协议或经典版本的用户使用。
- V10 版本:在继承 V9 稳定内核的基础上,主要增加了面向物联网(IoT)的组件和功能,以支持亚马逊在物联网和人工智能等领域的战略布局。
本书的讲解将基于 FreeRTOS V9 版本,专注于其经典、稳定的内核原理与应用实践。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)