您尚未登录。

楼主 # 2022-10-11 14:57:36

taotieren
会员
注册时间: 2020-05-19
已发帖子: 116
积分: 151

【开源书籍】《Rust 嵌入式宝典》书籍+仓库

Rust 嵌入式宝典官方原文仓库:https://github.com/rust-embedded/embedonomicon
Rust 嵌入式宝典官方原文在线版:https://docs.rust-embedded.org/embedonomicon/
Rust 嵌入式宝典中文翻译仓库:https://github.com/XxChang/embedonomicon
Rust 嵌入式宝典中文翻译在线版:https://xxchang.github.io/embedonomicon/

文章预览:

嵌入式宝典
嵌入式宝典带领你经历从零创造一个 #![no_std] 应用的过程,经历为Coterx-M微控制器搭建架构特定的功能的迭代过程。

目的
通过阅读这本书你将会学到

搭建一个 #![no_std] 应用。这比搭建一个 #![no_std] 库更复杂,因为目标系统可能没有运行一个OS(或者你的目标就是搭建一个OS!),而且你的程序可能是目标中运行的唯一进程(或者第一个进程)。在这种情况下,程序可能需要为目标系统进行定制。

精细控制一个Rust程序的存储布局的技巧。你将学到链接器(linkers),链接器脚本和Rust中那些能让你控制Rust程序某些ABI的功能。

实现可以被静态重载(没有运行时消耗)的默认功能的一个技巧。

目标读者
这本书主要面向两个读者:

希望为一个生态系统还没有支持的架构提供裸板支持(比如,自Rust 1.28以来的Cortex-R),或者为一个刚获得Rust支持的架构提供支持(比如 未来可能有Xtensa)

对像是 cortex-m-rt,msp430-rt 和 riscv-rt 这样的 runtime 库的不寻常的实现感到好奇的人。

要求
这本书是自洽的。读者不需要熟悉Cortex-M架构,也不需要一个Cortex-M微控制器 -- 这本书里包含 的所有例子能在QEMU中测试。然而,你需要安装下面的工具来运行和检查这本书中的示例:

这本书中所有代码使用的是2018版的Rust。如果你不熟悉2018的特性和术语,阅读 edition guide 。

Rust 1.31 或者更新的具有ARM Cortex-M编译支持的工具链。

cargo-binutils. v0.1.4 或者更新的版本。

cargo-edit.

有ARM仿真支持的QEMU。qemu-system-arm 程序必须被安装在你的电脑上。

有ARM支持的GDB 。

PDF 版本,想看最新的请直接看在线版本:
The Embedonomicon.pdf

最近编辑记录 taotieren (2022-10-11 15:04:25)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn