针对 RISC-V 和 Xtensa 目标
为 Xtensa 和 RISC-V 架构开发 Rust 应用程序,需要安装和维护一些组件。espup 是一款能够简化这一过程的工具。
1. 安装 espup
要安装 espup,执行:
cargo install espup --locked
也可以直接下载预编译好的发行二进制文件或使用cargo-binstall。
2. 安装必要的工具链
要为所有支持 Rust 开发的乐鑫目标,安装所有必要的工具,执行:
espup install
⚠️ 注意:
std应用需要安装一些额外的软件,参见std开发依赖项
3. 配置环境变量
espup 会创建一个 export 文件,其中包含构建项目所需的一些环境变量。
在 Windows 系统上(%USERPROFILE%\export-esp.ps1)
- 对于 Windows 用户,不需要 执行这个文件。这个文件只是用来展示哪些环境变量被修改了的。
在基于 Unix 的系统上($HOME/export-esp.sh),有几种不同的方法来 source 这个文件:
-
在每个终端里 source 这个文件:
- source 这个 export 文件:
. $HOME/export-esp.sh
这种方法需要在每个新的 shell 里运行这个命令。
- source 这个 export 文件:
-
创建用于执行
export-esp.sh的别名(alias):- 将以下命令复制粘贴到 shell 的配置文件中(
.profile、.bashrc、.zprofile等):alias get_esprs='. $HOME/export-esp.sh' - 通过重启终端,或执行
source [配置文件的路径],例如source ~/.bashrc,来刷新配置。
这种方法需要在每个新的 shell 里运行别名(alias)。
- 将以下命令复制粘贴到 shell 的配置文件中(
-
直接将环境变量添加到 shell 配置文件中:
- 把
$HOME/export-esp.sh的内容添加到 shell 的配置文件中:cat $HOME/export-esp.sh >> [配置文件的路径],例如cat $HOME/export-esp.sh >> ~/.bashrc。 - 通过重启终端,或执行
source [配置文件的路径],例如source ~/.bashrc,来刷新配置。
这种方法 不需要 任何 source。
export-esp.sh脚本会在每个 shell 里自动 source。 - 把
espup 安装了什么
为了启用对乐鑫目标的支持,espup 安装了以下工具:
分支编译器能与标准 Rust 编译器共存,允许在一个系统上同时安装两者。可以用任意一种 override 方法来调用分支编译器。
⚠️ 注意:我们正在努力将分支的代码合并入上游仓库
LLVM分支中的修改。合并正在进行中,详见这个跟踪 issue。- Rust 编译器分支。如果
LLVM中的修改被接受,我们将继续推进 Rust 编译器的修改。
如果你遇到了错误,请查看 Troubleshooting 章节。
Xtensa 目标的其他安装方法
- 使用
rust-build安装脚本。这是过去推荐的方式,但现在安装脚本已”功能冻结“,所有新功能将仅包含在espup中。请参阅仓库 README 文件以获取说明。 - 从源代码构建具有
Xtensa支持的 Rust 编译器。此过程的运算成本很高,可能需要一个或多个小时才能完成,具体取决于系统配置。除非有重大理由要求采用这种方法,否则不建议这样做。这是从源代码构建它的仓库:esp-rs/rust仓库。