主线 · 一个程序的一生
这是 EmbedBox 的首刷推荐路线。全书只有一个主角——一个会打招呼的小程序:它从一行 hello.c 开始,被解剖、生病、长大、工程化、搬家、进入一台没有屏幕的机器、开口说话、被记录、被编辑器认领。每一个历程,都是被一个具体的事故逼着学会一件新工具。
补课与查用的朋友,各工具的系统内容在参考篇(建设中);从零开始的朋友,从这里走。
| 历程 | 故事 | 状态 |
|---|---|---|
| 第 1 个历程 · 造机器 | 环境体检:clone 下来先确认机器活着 | 完成 |
| 第 2 个历程 · 造程序 | 看着源码一步步变成 ELF,再把它拆开看 | 完成 |
| 第 3 个历程 · 治病 | 程序被(笔者)弄坏了,printf 够不到病灶,GDB 出场 | 完成 |
| 第 4 个历程 · 程序长大 | 改了头文件忘重编,炸出 undefined reference;让 make 接管记账 | 完成 |
| 第 5 个历程 · 工程化 | 库与应用分离,CMake 产出 compile_commands.json | 完成 |
| 第 6 个历程 · 搬家 | 宿主机二进制目标机跑不了,交叉编译 | 完成 |
| 第 7 个历程 · 没有屏幕的机器 | QEMU 给身体,串口开口说话,证据落袋 | 完成 |
| 第 8 个历程 · 记录旅程 | Git 与 Markdown:让旅程可复现、可交付 | 完成 |
| 第 9 个历程 · 编辑器接线 | 把工具链接进 VS Code | 完成 |
| 尾声 · 实验安全 | 3.3V/5V、共地、静电、万用表三招(硬件场景的保命常识) | 完成 |
这一卷的每章正文命令,都被
scripts/journey/里的配对脚本在 CI 中逐字重放——咱们看到的输出是真跑出来的,不是编的。第 9 个历程 的编辑器交互项与尾声的安全常识为 manual 级,由人工走查声明背书。