FreeRTOS是MCU领域最受欢迎的RTOS实现之一,应用范围极为广泛。它已问世超过15年,已被移植到数十种平台上。如果你曾与熟悉RTOS编程的资深底层嵌入式系统工程师交流过,你肯定听说过FreeRTOS。通过专注学习FreeRTOS,你将具备扎实的基础,以便在需要时快速将FreeRTOS相关知识迁移到其他硬件平台,或切换到其他RTOS。
FreeRTOS完全免费!FreeRTOS基于MIT许可证分发。
图1.5展示了FreeRTOS在典型ARM固件栈中的位置。栈(stack)指构成系统的所有不同层级的固件组件,以及它们相互叠加的结构关系。此处的"用户"指的是使用FreeRTOS的开发人员(而非嵌入式系统的最终用户)。

学习书籍推荐:
FreeRTOS实战:用STM32+SEGGER打造工业级实时嵌入式系统(第2版)

《FreeRTOS实战:用STM32+SEGGER打造工业级实时嵌入式系统(第2版)》围绕FreeRTOS展开全面讲解,共分为5个部分。第1部分介绍RTOS、配套开发板与开发工具,讲解裸机开发中经典的超级循环结构,为后续学习筑牢基础;第 2 部分聚焦FreeRTOS核心能力,详解调度器、任务、同步机制与任务间通信相关API;第3部分结合硬件实战,讲解基于FreeRTOS开发UART、USB等外设驱动的方法,演示任务、中断、DMA的协同使用,并讲解松耦合架构设计;第4部分讲解FreeRTOS内存管理、多核 多处理器应用以及系统故障排查与调试技巧;第5部分为参考附录,提供开发工具速查、配套参考资料,以及FreeRTOS项目的创建与安装方法。
《FreeRTOS实战:用STM32+SEGGER打造工业级实时嵌入式系统(第2版)》内容由浅入深、理论结合实战,既适合嵌入式系统入门者从零学习RTOS与FreeRTOS开发,也可供具备一定经验的嵌入式工程师参考,用于提升FreeRTOS项目开发、驱动设计与系统调试能力。
本书讲了什么?

本书组织结构本书共16章,分为5个部分。
第1部分:RTOS、开发板与工具简介
第1章介绍RTOS,包括其使用场景。
第2~3章介绍本书配套的开发板(需单独购买)、开发工具、示例程序,以及它们的使用方法;同时为嵌入式系统硬件与开发工具的新手提供入门指导。
第4~5章介绍超级循环(super-loop),阐释RTOS的必要性及其优势。第5章包含超级循环程序的创建教程,专为嵌入式系统新手程序员设计。
第2部分:FreeRTOS调度器、任务与核心API
第6~7章介绍FreeRTOS的核心组件------调度器与任务。
第8~9章介绍FreeRTOS用于任务同步与通信的API,例如信号量(semaphore)与消息队列(queue)。
第3部分:利用FreeRTOS构建系统
第10~12章介绍如何在实际系统中运用FreeRTOS的功能,尤其是如何创建MCU外设的驱动程序。
第13章介绍如何利用任务处理串行数据流,特别是来自MCU USB控制器的数据。
第4部分:系统设计与故障排除
第14~15章介绍FreeRTOS的内存管理,以及FreeRTOS在多处理器与多核系统中的应用。
第16章介绍基于FreeRTOS的应用程序及开发工具的故障排除技巧。
第5部分:参考资料与FreeRTOS安装说明
附录A提供开发工具的"速查手册" (cheat sheet)。
附录B列出开发工具与硬件的参考文档(如用户指南)。
附录C介绍如何在开发板上安装FreeRTOS。
从书中你能学到什么?

如何充分利用本书:
对于多数读者而言,亲手实操书中的示例程序是掌握相关技能的关键,包括使用调试工具观察和分析程序的运行行为。实操需准备好开发板,安装开发工具并下载示例程序。
对于资深工程师而言,仅阅读本书内容而不运行示例程序可能是更高效的学习方式。
本书将阐释示例程序的核心部分。阅读时,建议同时打开IDE,查看完整代码清单并深入探索示例程序的细节。
要熟练掌握本书内容,推荐下面两种方法。
- 尝试修改示例程序以进行实验。
- 利用书中介绍的FreeRTOS功能,从零创建自己的基于FreeRTOS的程序。附录C将介绍如何为开发板创建IDE项目并安装FreeRTOS。