针对 C 工程师量身打造的嵌入式 Rust 编程指南, 涵盖从基础到高级的内容, 包括 Rust 基础语法、所有权与借用、并发编程、内存管理、嵌入式开发工具链以及实际项目案例, 帮助工程师快速掌握 Rust 在嵌入式领域的开发技能。
章节目录
- 第 0 章:嵌入式 Rust 编程 Part0 大纲
- 第1章:为什么是 Rust? Part1 了解嵌入式rust
- 第 2 章:Rust 速成 Part1 了解嵌入式rust
- 第3章:第一个裸机工程 Part1 了解嵌入式rust
Rust 裸机工程长什么样?每个文件的作用是什么?怎么编译、烧录、调试?
- 第 4 章:零成本抽象 Part1 了解嵌入式rust
Rust 的高级语法会不会让程序变慢?类型状态模式是什么?unsafe 在嵌入式中的角色是什么?
- 第 5 章:并发基础 Part1 了解嵌入式rust
嵌入式并发是什么?抢占式和协作式有什么区别?C 和 Rust 各自怎么处理并发?
- 第 6 章:可移植性与生态层次 Part1 了解嵌入式rust
embedded-hal 是什么?Rust 嵌入式生态的层次结构是怎样的?有哪些并发框架可选?
- 第 7 章:Embassy 入门 Part2 深入embassy框架
Embassy 的 async/await 到底是怎么工作的?它和手写状态机有什么关系?采用 Embassy 需要付出什么代价?
- 第 8 章:第一个 Embassy 工程 Part2 深入embassy框架
如何用 Embassy 点亮 LED、读取传感器、驱动显示器?每个外设的异步 API 长什么样?与 C HAL 有何区别?
- 第 9 章:Embassy 运行时 Part2 深入embassy框架
async/await 在裸机上到底是怎么运行的?Future 是什么?Waker 和中断有什么关系?如何验证'零开销'?
- 第 10 章:任务间通信 Part2 深入embassy框架
Embassy 的任务之间如何传递数据?Channel、Signal、Mutex、PubSub 分别适用于什么场景?与 FreeRTOS 的队列/信号量/事件组有何对应关系?
- 第 11 章:Embassy 生态与视野拓展 Part2 深入embassy框架
除了 `embassy-sync`,Embassy 生态还有哪些强大的库?我能用 Embassy 做什么?后续怎么深入学习?
- 第 12 章:工具链深度 Part 3:工程实践与生态全景
`memory.x` 里面每一行是什么意思?从 `cargo build` 到芯片运行之间发生了什么?调试链路是怎么构成的?
- 第 13 章:调试、测试与工程架构 Part 3:工程实践与生态全景
异步代码怎么调试?Embassy 项目怎么组织?怎么测试?从原型到产品的工程实践是什么?
- 第 14 章:性能与体积优化 Part 3:工程实践与生态全景
如何控制固件体积?如何优化性能?异步运行时的开销有多大?常见的陷阱和解决方案是什么?
- 第 15 章:生态全景与库推荐 Part 3:工程实践与生态全景
除了 Embassy,Rust 嵌入式生态还有哪些重要的库?不同场景下怎么选型?安全关键领域怎么用 Rust?从 C 迁移到 Rust 的务实策略是什么?全书如何总结?
Rust 嵌入式开发 Embassy Concurrency Memory Management