开发环境搭建

概述

Rust SDK 的编译依赖两套工具链:

工具链

来源

用途

Rust 工具链

Rust 官方

编译 Rust 代码、链接 ELF 固件

ARM 裸机工具链

Realtek

提供 arm-none-eabi-nm / arm-none-eabi-objcopy,用于固件后处理打包

安装 Rust 工具链

Linux / WSL:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none --profile minimal
$ source ~/.cargo/env

备注

中国大陆用户可设置以下链接后再安装:

$ export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
$ export RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup

安装 nightly 工具链

rust-toolchain.toml 在仓库根目录中定义了所需的 nightly 版本、组件及交叉编译 target,进入仓库目录后首次运行 rustc 时 rustup 会自动完成安装。

进入 Rust SDK 根目录执行:

Linux / WSL:
$ cd <workdir>/rust
$ rustc --version

首次执行会自动下载安装(约需数分钟)。

安装 ARM 裸机工具链

安装 ARM 工具链请参考:

基于 CLI 的编译与下载

验证安装

Linux / WSL:
$ rustup show active-toolchain
nightly-x86_64-unknown-linux-gnu (overridden by '.../rust/rust-toolchain.toml')

$ rustup target list --installed | grep thumbv8m.main-none-eabi
thumbv8m.main-none-eabi
thumbv8m.main-none-eabihf

$ arm-none-eabi-nm --version
GNU nm (Realtek ASDK-12.x.x ...) 2.xx.x