嵌入式开发领域,纯裸机程序往往难以应对复杂硬件任务,而实时操作系统(RTOS)已成为工业控制、物联网设备及通信模块中的核心组件。这门课聚焦于 FreeRTOS,旨在解决初学者从“能跑通代码”到“能应对多任务并发”的痛点。它不是泛泛而谈的操作系统理论,而是针对就业场景,拆解了任务调度、内存管理、通信同步等实际工作中高频出现的难题。对于希望转行嵌入式,或想在现有工作中摆脱“写个循环扫描”局限的开发者,这门课提供了从底层逻辑到工程落地的完整路径,重点在于理解如何在不支持复杂图形界面的微控制器上,高效地管理资源与时间。

适合人群与前置基础

这门课不适合完全零基础的同学。你至少需要熟悉 C 语言,理解指针、结构体及内存布局,并拥有至少一款主流单片机(如 STM32 或 Arduino 系列)的驱动经验。如果你能独立完成外设配置并编写基本的中断处理,就可以开始学习。课程主要面向希望提升系统架构能力的初级工程师,或准备面试中“并发控制”环节的考生。它不要求你精通底层汇编,但需要你具备排查内存溢出、任务死锁等常见故障的基本直觉。对于刚入职的应届生,这是从“打杂”向“独立模块负责人”过渡的关键台阶;对于在职人员,则是避免在复杂项目中被实时性要求卡住脖子的实用工具。

学习路径与实战建议

建议不要线性看完所有视频,而是先啃下任务切换机制与内核移植两个模块。这是 FreeRTOS 的灵魂,理解了栈帧保护和上下文保存,后续的所有 API 都只是语法糖。接着重点练习队列(Queue)和信号量(Semaphore)的使用,这是任务间数据传递的骨架。在练习时,务必结合开发板上的硬件资源,例如尝试用任务抢占模拟传感器数据采集与显示更新,观察优先级反转现象并尝试解决。学完核心后,再引入软件定时器与内存池模块,构建一个最小的多任务系统。资料包中的实战案例代码不要直接复制运行,而是试着打乱任务执行顺序,看系统是否能保持稳定,从而加深对互斥锁用法的理解。最终目标是你能在一个空白工程里,在两天内搭起一个具备日志输出、通信交互及故障恢复能力的 RTOS 应用框架。

课程目录

├── 第1章 嵌入式RTOS工程师发展前景及薪资待遇(赠书,仅限前30名)/ │ ├── [8.6M] 1-1为什么要学习嵌入式RTOS │ ├── [7.0M] 1-2学完这门RTOS课程能达到多少月薪? │ └── [ 18M] 1-3为什么课程可以让你技术大步跃迁以及课程硬件设备须知 ├── 第2章 裸机衔接:仍然从闪灯实验入手/ │ ├── [ 14M] 2-1RTOS课程概要和学习路线 │ ├── [ 72K] 2-2课程硬件设备获取流程(硬件需单独购买).pdf
 │ ├── [ 30M] 2-3一定要学好RTOS它是行业刚需 │ ├── [ 13M] 2-4了解实验平台展示精彩实验 │ ├── [ 62M] 2-5我们还是从LED闪灯实验开始 │ ├── [ 20M] 2-6LED闪灯再上难度Tick概念引出 │ ├── [ 20M] 2-7用硬件定时器中断来提供Tick │ ├── [ 26M] 2-8RTOS编程开发的基本模式 │ ├── [ 13M] 2-9C语言函数到底是怎么运行起来的 │ ├── [ 22M] 2-10多个函数同时运行逻辑就实现过 │ ├── [ 34M] 2-11RTOS中多个函数同时运行调度器原理 │ └── [ 54M] 2-12为什么要选择FreeRTOS ├── 第3章 任务的创建、调度和状态转换/ │ ├── [ 42M] 3-1从0构建第一个FreeRTOS工程 │ ├── [ 30M] 3-2多任务并发执行造成的混乱 │ ├── [110M] 3-3FreeRTOS核心API:创建任务 │ ├── [ 22M] 3-4RTOS核心精髓:调度器 │ ├── [ 16M] 3-5上下文切换,没那么简单! │ ├── [ 27M] 3-6PENDSV中断:缓期执行 │ ├── [ 24M] 3-7实时性和任务优先级 │ ├── [ 39M] 3-8时间片轮转调度方式 │ ├── [ 24M] 3-9RTOS中任务的4种状态 │ └── [ 18M] 3-10RTOS中的“优先级转反”问题 ├── 第4章 加深对任务的理解 这很重要/ │ ├── [ 19M] 4-1FreeRTOSAPI一动一静两个版本 │ ├── [ 57M] 4-2RTOS开发重要意识:栈水位线和堆剩余容量 │ ├── [ 97M] 4-3FreeRTOS软件生态及人机交互调试利器Shell │ ├── [ 56M] 4-4实际工作中我们应该如何更好的创建任务 │ ├── [ 56M] 4-5第一个任务是怎么启动的?RTOS另一基石SVC │ ├── [ 26M] 4-6弱高能:Cortex-M3M4代码的特权和用户级别 │ └── [ 58M] 4-7Cortex-M3M4的线程模式和Handler模式 ├── 第5章 RTOS 中的延时和空闲的本质/ │ ├── [ 90M] 5-1RTOS中的延时(相对延时和绝对延时) │ ├── [ 18M] 5-2RTOS中的空闲任务IDLE:初步了解 │ └── [ 69M] 5-3RTOS中的空闲任务IDLE:深入了解 ├── 第6章 写个驱动程序 让液晶高速刷起来/ │ ├── [ 73M] 6-1RTOS复用裸机代码:裸机下从0点亮液晶屏上 │ ├── [110M] 6-2RTOS复用裸机代码:裸机下从0点亮液晶屏下 │ ├── [ 76M] 6-3RTOS复用裸机代码:将裸机驱动移到RTOS │ └── [ 72M] 6-4RTOS的世界中《CPU你省省心吧!》 ├── 第7章 任务间的通信 信号量和互斥锁 (IPC 基础)/ │ ├── [ 33M] 7-1任务间通信IPC:讲讲皮毛PV操作和信号量 │ ├── [ 38M] 7-2任务间通信IPC:二值信号量 │ ├── [ 39M] 7-3任务间通信IPC:互斥锁 │ └── [ 99M] 7-4互斥锁是解决优先级反转问题的正统方法 └── 第8章 RTOS 中处理硬件中断/ ├── [112M] 8-1任务的主动切换 ├── [ 87M] 8-2RTOS中断处理过程中的顶半和底半操作 ├── [134M] 8-3中断中释放信号量要小心IamFromISR ├── [ 58M] 8-4善用DMA减少中断Shell的雏形出来了上 └── [ 98M] 8-5善用DMA减少中断Shell的雏形出来了下 ├── 第9章 实用调试工具:shell与 Elog/ │ ├── [ 87M] 9-1彩色的log打印日志的艺术:EasyLog移植与使用上 │ ├── [140M] 9-2彩色的log打印日志的艺术:EasyLog移植与使用中 │ └── [ 83M] 9-3彩色的log打印日志的艺术:EasyLog移植与使用下 ├── 第10章 实战项目 1:《环境参数事实调节(智能家居)》/ │ ├── [ 99M] 10-1智能家居(了解需求着手架构) │ ├── [ 28M] 10-2中期总结一下 │ ├── [ 95M] 10-3智能家居(降低耦合并行开发) │ ├── [ 86M] 10-4智能家居(任务分解独立开发) │ ├── [103M] 10-5智能家居(顶层模块老冯负责) │ ├── [100M] 10-6智能家居(顶层设计高内聚) │ ├── [ 99M] 10-7智能家居(温度采集驱动的实现)加速版 │ ├── [101M] 10-8智能家居(擅用开源效率飙升) │ ├── [ 94M] 10-9智能家居(AP3216环境光采集的实现翻车了) │ ├── [107M] 10-10智能家居(AP3216驱动救场驱动适配层的实现) │ ├── [121M] 10-11智能家居(FreeModbus主机模式继电器模块控制) │ ├── [113M] 10-12智能家居(中间层统一顶底精妙思想) │ ├── [111M] 10-13实战项目:智能家居(大结局:代码大融合上) │ ├── [110M] 10-14实战项目:智能家居(大结局:代码大融合中) │ └── [120M] 10-15实战项目:智能家居(大结局:代码大融合下) ├── 第11章 文件系统 几个高阶精彩实验/ │ ├── [ 53M] 11-1文件系统之znFAT和FATFS从零构建 │ ├── [104M] 11-2文件系统之从零实现spiFlash芯片驱动(W25为例) │ ├── [ 79M] 11-3文件系统之挂接spiFlash存储器驱动 │ ├── [ 50M] 11-4文件系统之实现文件层操作作个小型DOS系统 │ ├── [ 41M] 11-5文件系统之SFUD串行FlashROM通用驱动库(基本介绍) │ ├── [ 57M] 11-6文件系统之SFUD串行FlashROM通用驱动库(移植) │ ├── [ 83M] 11-7文件系统之智能家居实战项目后续(传感器采集存储本地) │ ├── [ 28M] 11-8文件系统之智能家居实战项目后续(将文件上传上来多方便) │ ├── [ 43M] 11-9文件系统之文件的上传和下载(振南znrxyymodem文件传输方案) │ ├── [ 31M] 11-10告别JinkBootLoader(ZNBL方案)基础问题 │ ├── [ 36M] 11-11告别JinkBootLoader(ZNBL方案)关键技术 │ ├── [ 39M] 11-12告别JinkBootLoader(ZNBL方案)跳转代码剖析演示隔空烧录 │ └── [ 48M] 11-13ZNBL全剖析:BIN文件完整性和BL统型问题 ├── 第12章 队列、软定时、事件组和任务通知(IPC进阶)/ │ ├── [ 30M] 12-1消息队列之基础 │ ├── [ 27M] 12-2消息队列之应用 │ ├── [ 24M] 12-3定时器之基础(从硬件定时器说起) │ ├── [ 35M] 12-4软件定时器之应用(例说相关API) │ └── [ 40M] 12-5事件组的原理和应用 ├── 第13章 内存管理/ │ ├── [ 69M] 13-1内存管理之malloc动态分配到底是如何实现的? │ └── [ 33M] 13-2内存管理之freeRTOS中的动态内存分配 ├── 第14章 知识边角扫尾 一个综合小实验/ │ └── [ 24M] 14-1评价程序质量的宏观指标CPU占用率(原理与实现) └── 第15章 实战项目 2:《嵌入式对接 AI大模型(三个典型实例》/ ├── [ 54M] 15-1实例1:文字转语音的实现 ├── [ 50M] 15-2实例2:图像识别OCR的实现 └── [ 70M] 15-3实例3:ChatGPT生成式对话模型对接