Memo

Espressif Rust 安装:RISC-V 与 Xtensa

Espressif Rust 安装:RISC-V 与 Xtensa 来源(官方文档):https://docs.espressif.com/projects/rust/book/installation/riscv-and-xtensa.html (访问时间:2025-09-22) 摘要 - 使用 espup 一站式安装并维护 Espressif 目标所需的工具链(同时覆盖 RISC-V 与...

Espressif Rust 安装:RISC-V 与 Xtensa

来源(官方文档):https://docs.espressif.com/projects/rust/book/installation/riscv-and-xtensa.html (访问时间:2025-09-22)

摘要

  • 使用 espup 一站式安装并维护 Espressif 目标所需的工具链(同时覆盖 RISC-V 与 Xtensa)。
  • 基本流程:安装 espup → 运行 espup install →(Unix)按需在 Shell 中加载 $HOME/export-esp.sh 设置环境变量。
  • std 程序还需额外依赖(见文档 “std Development Requirements”)。
  • espup 安装的内容包括:带 Espressif 目标支持的 Rust 分支、支持 RISC-V 的 nightly、带 Xtensa 支持的 LLVM 分支,以及用于最终链接的 GCC 工具链。
  • 官方正推进将相关修改上游化;若遇问题,请参考 Troubleshooting 章节。

安装步骤

  1. 安装 espup
cargo install espup --locked

可选:从 GitHub Releases 下载预编译二进制,或用 cargo-binstall 安装。

  1. 安装所需工具链(覆盖全部受支持的 Espressif 目标)
espup install

提示:若要开发 std 程序,请额外按照文档“std Development Requirements”配置所需软件。

环境变量(Unix)

espup 会在 $HOME/export-esp.sh 中写入构建所需的环境变量,常见用法有三种:

  • 逐次手动加载:
. "$HOME/export-esp.sh"
  • 添加别名,按需加载:
echo "alias get_esprs='. \"$HOME/export-esp.sh\"'" >> ~/.bashrc # 或 .zprofile 等
source ~/.bashrc
  • 直接并入 Shell 配置,自动生效:
cat "$HOME/export-esp.sh" >> ~/.bashrc # 或对应的 shell 配置文件
source ~/.bashrc

Windows 上会生成 %USERPROFILE%\\export-esp.ps1 供参考(无需执行)。

espup 安装了什么

  • 带 Espressif 目标支持的 Rust 分支(与系统上标准 Rust 可共存,通过 rustup 覆盖机制选择)。
  • 支持 RISC-V 目标的 nightly 工具链。
  • 带 Xtensa 支持的 LLVM 分支。
  • 用于最终链接的 GCC 工具链。

其他(Xtensa)安装方式

  • 使用历史 rust-build 安装脚本(已冻结新功能,后续仅在 espup 提供)。
  • 从源码自行编译带 Xtensa 支持的 Rust(计算开销大,仅在确有需要时采用)。

故障排查

如遇错误,请参考文档中的 Troubleshooting 章节。