01-硬件
硬件(Hardware)
4 分钟阅读
译文 · 基于 The Embedded Rust Book
欢迎阅读《嵌入式 Rust 手册》:一本关于在“裸机(bare metal)”嵌入式系统(例如微控制器)上使用 Rust 编程语言的入门书。
嵌入式 Rust 面向所有希望在做嵌入式编程的同时,利用 Rust 语言提供的更高层抽象与安全保证的人。 (另见 Rust 面向谁)
本书的目标是:
帮助开发者快速上手嵌入式 Rust 开发,例如如何搭建开发环境。
分享当前使用 Rust 做嵌入式开发的最佳实践,例如如何更好地运用 Rust 语言特性写出更正确的嵌入式软件。
在某些场景下充当“菜谱(cookbook)”,例如如何在同一项目中混用 C 与 Rust?
本书尽量保持通用,但为了降低读者与作者双方的难度,所有示例都使用 ARM Cortex-M 架构。不过本书并不假设读者熟悉该架构,并会在必要时解释该架构特有的细节。
本书面向有一定嵌入式背景或一定 Rust 背景的读者;不过我们也相信,任何对嵌入式 Rust 编程感到好奇的人都能从中有所收获。对于没有任何先验知识的读者,建议先阅读“假设与前置知识”一节,补齐缺失知识,以便更好地理解本书、改善阅读体验。你可以查看“其它资源”一节,找到可能需要补习的主题相关资料。
如果你对上文提到的任何内容不熟悉,或想进一步了解本书中的某一主题,下面这些资源可能会有帮助。
| 主题 | 资源 | 说明 |
|---|---|---|
| Rust | 《Rust 程序设计语言》 | 若你还不熟悉 Rust,强烈建议先阅读这本书。 |
| Rust,嵌入式 | 《探索之书》(Discovery Book) | 若你从未做过嵌入式编程,这本书可能是更好的起点 |
| Rust,嵌入式 | 嵌入式 Rust 书架 | 这里可以找到 Rust 嵌入式工作组提供的其它多种资源。 |
| Rust,嵌入式 | Embedonomicon | 用 Rust 做嵌入式编程时的硬核细节。 |
| Rust,嵌入式 | 嵌入式 FAQ | 嵌入式语境下关于 Rust 的常见问题。 |
| Rust,嵌入式 | Comprehensive Rust 🦀:裸机 | 为期 4 天的裸机 Rust 开发教学材料 |
| 中断 | 中断(Interrupt) | - |
| 内存映射 I/O / 外设 | 内存映射 I/O | - |
| SPI、UART、RS232、USB、I2C、TTL | Stack Exchange:关于 SPI、UART 及其它接口 | - |
本书已有志愿者完成的译本。若希望你的译本列在此处,请提交 PR 添加。
本书一般假设你从前到后阅读。后面章节会建立在前面章节的概念之上;前面章节对某主题可能不会深入,而在后续章节再回访。
本书大部分示例会使用 STMicroelectronics 的 STM32F3DISCOVERY 开发板。该板基于 ARM Cortex-M 架构;尽管基于该架构的多数 CPU 基本功能相同,但外设以及其它微控制器实现细节在不同厂商之间不同,甚至同一厂商的不同微控制器系列之间也常有差异。
因此,建议购买 STM32F3DISCOVERY 开发板,以便跟随本书示例。
若你在跟随本书说明时遇到困难,或发现某节不够清晰、难以跟上,那就是一个 bug,应在本书的问题跟踪器中报告。
欢迎提交修复拼写错误与新增内容的 Pull Request!
本书按以下许可分发:
简而言之:若想在你的作品中使用我们的文字或图片,你需要:
另外,若你觉得本书有用,也请告诉我们!