这是一套以真实工程能力为目标的嵌入式教程。内容从 C、CPU、内存、编译链接和硬件阅读出发,分为 MCU/RTOS 与 Embedded Linux/BSP 两条系统路线,最终在网络、安全、OTA、调试验证、架构、CI、量产和现场维护中汇合。
教程不以“覆盖了多少知识点”为完成标准,而要求读者能够:
- 从源码、ELF、运行时、寄存器和物理信号互相解释系统行为。
- 把需求改写为约束、指标、不变量和可复核证据。
- 设计实验区分竞争假设,而不是凭经验不断试参数。
- 处理边界、过载、断电、弱网、版本和资源耗尽。
- 在性能、功耗、成本、复杂度、安全和可靠性之间做取舍。
- 将结论沉淀为接口、测试、诊断、构建与发布资产。
- 阅读 课程依赖地图与阶段门。
- 完成 嵌入式工程环境准备 的 90 分钟闭环。
- 按 实验地图 运行仓库主机实验。
- 进入 共同基础。
- 选择 MCU/RTOS 或 Embedded Linux/BSP 作为第一条主线。
有经验的读者可以直接挑战阶段门。跳过章节的依据是已有证据,而不是“以前看过类似内容”。
+-> MCU 裸机 -> RTOS ---------+
学习方法 -> 共同基础 -------------+ |
C / CPU / 构建 / 硬件 +-> Embedded Linux / BSP -----+-> 产品交付
| |
+-> 网络 / 存储 / 安全 / OTA ---+
贯穿全程:调试、测试、可靠性、功耗、可观测性、工具链和工程表达
仓库提供三项主机实验,分别训练边界、协议解析和断电一致性:
make -C labs test| 实验 | 核心问题 |
|---|---|
| ring-buffer | 空满、wrap、不变量和模型对照 |
| byte-stream-parser | 分片、粘连、畸形长度和有界失败 |
| host-config-journal | Flash 模型、提交顺序和逐断电点恢复 |
主机实验属于 E1 证据:适合验证纯逻辑和不变量,但不证明目标 CPU 原子性、DMA/cache、外设时序和电气行为。目标板与系统项目的补充验证见 实验地图。
- 项目阶梯:共同基础后分为 MCU/RTOS 与 Linux/BSP 两条项目路线。
- 环境监测节点:MCU/RTOS、传感器、网络、配置、低功耗与 OTA。
- Embedded Linux 边缘网关:BSP、驱动、systemd、存储、弱网、更新与现场诊断。
项目完成不是功能截图,而是需求、架构、预算、原始证据、故障注入、构建、发布、回滚和残余风险组成的证据包。
criteria.md 定义整套教程的上位质量标准,包括十二项质量属性、课程组织、单章/实验/项目契约、评估门禁和完成定义。
站内配套方法:
安装文档依赖并严格构建:
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/mkdocs build --strict启动本地站点:
.venv/bin/mkdocs serve默认访问 http://127.0.0.1:8000。
CI 会同时执行 MkDocs 严格构建和全部主机实验。推送到 main 时由 .github/workflows/deploy-mkdocs.yml 部署 GitHub Pages;Pull Request 只构建和测试,不部署。