嵌入式 Rust 书籍
嵌入式 Rust 书籍
简介:
引言
《嵌入式 Rust 书籍》(Rust 嵌入式系统官方指南)是由 Rust 嵌入式设备工作组 创建的权威资源。它是一本使用 Rust 语言进行微控制器和裸机系统开发的实用入门指南。与许多其他书籍不同,该资料免费分发并由社区持续更新,这使其对于初入门的嵌入式工程师来说尤其宝贵。
本书内容
本书涵盖了使用 Rust 开发嵌入式软件的完整周期:从工具链配置到调试和优化。主要关注内存安全、消除未定义行为以及高效利用微控制器资源。作者循序渐进地引导读者掌握关键概念:外设、中断、DMA、RTIC(实时中断驱动并发)以及 no_std 环境下的工作。
结构与内容
材料分为逻辑模块:
- 嵌入式 Rust 入门: 工具链安装、创建第一个项目、使用 cargo 和目标三元组。
- 外设操作: GPIO、UART、SPI、I2C——以流行的微控制器(STM32、nRF、Raspberry Pi Pico)为例。
- 安全性与保证: 使用类型防止配置错误,使用 RAII 管理资源。
- 并发与实时: RTIC、消息队列、无数据竞争的中断处理。
- 调试与性能分析: GDB、ITM、RTT、堆栈采样。
- 高级主题: DMA、内存管理、编写自定义驱动程序。
目标读者
本书面向已熟悉 Rust 基础(语法、所有权、借用)但无嵌入式开发经验的开发者。同时,对于希望转向 Rust 并理解其在微控制器上下文中的优势的经验丰富的 C/C++ 嵌入式工程师也很有帮助。
读者将学到什么
- 如何为 ARM Cortex-M、RISC-V 及其他架构配置开发环境。
- 如何编写安全代码来操作寄存器和外设,而无需使用
unsafe(得益于 svd2rust 和 PAC crate)。 - 如何使用 RTIC 创建确定性的多任务应用程序。
- 如何使用 GDB 和追踪功能有效调试嵌入式程序。
- 如何最小化功耗并使用睡眠模式。
- 如何将 Rust 代码与现有的 C 库集成(FFI)。
本书优势
- 时效性: 本书由 Rust 嵌入式设备工作组保持更新,确保与最新版本的编译器和 crate 保持一致。
- 实践导向: 每个章节都附有可立即在真实硬件或模拟器(QEMU)上运行的代码示例。
- 安全优先: 作者一贯展示 Rust 的类型系统如何帮助避免 C/C++ 中典型的一整类错误(数组越界、使用未初始化内存、数据竞争)。
- 开放性: 本书采用 Creative Commons 许可发布,示例源代码可在 GitHub 上获取——不仅可以阅读,还可以提交修正。
- 社区: 围绕本书形成了一个活跃的社区,您可以在其中提问并获得帮助。
推荐人群
本书适用于:
- 初入门的嵌入式开发者,希望从一种现代且安全的语言开始。
- 经验丰富的 Rust 程序员,希望扩展