注:部分灵感来自ESP32 Rust开发环境搭建指南
本文章只是作为重复官方文档的步骤,简化实现方式
首先,保证环境配置完成
明确概念
🦀 1. rustc —— Rust 编译器
-
作用:直接将
.rs源代码编译为可执行程序。 -
类似于 C 的
gcc、C++ 的g++。
📦 2. cargo —— Rust 的构建工具和包管理器(最常用)
-
作用:
-
构建项目(编译、打包)
-
管理依赖(
Cargo.toml) -
运行程序
-
发布到
-
-
你写的大多数 Rust 项目都通过
cargo构建和管理。
🔧 3. rustup —— Rust 工具链管理器
-
作用:安装和管理 Rust 工具链(包括
rustc,cargo等)。 -
管理多个版本的 Rust:
stable,beta,nightly -
添加目标平台(如交叉编译 esp32 的目标)
-
安装组件(如
rust-src,clippy,rustfmt) -
rustup是你日常切换和管理 Rust 环境的核心工具。
🏗 它们的关系
你安装了 rustup(推荐官方方式) | ├── rustup 管理和下载 rustc(编译器) ├── rustup 管理和下载 cargo(构建工具) └── rustup 管理多个版本工具链(如 nightly, stable)
Rust 推荐安装方式是使用 rustup,而不是自己单独装 rustc 和 cargo。
✅ 总结对比表
| 名称 | 类型 | 作用 | 备注 |
|---|---|---|---|
rustc | 编译器 | 把 .rs 编译成机器码 | 直接编译,不含依赖管理 |
cargo | 构建工具 | 项目管理、依赖管理、构建打包 | Rust 项目首选方式 |
rustup | 工具链管理器 | 安装/切换/管理 rust 工具链 | 推荐安装方式 |
| Rust | 编程语言 | 整体技术体系 | 包含上面所有 |
配置开发环境
esp32环境设置

注,本人由于版本低的问题,导致配置esp环境耗费很长时间,开发esp平台,建议使用nightly版本,可以保证使用新的特性
创建模板
- 从模板仓库no_std,模板仓库std生成
- 使用命令生成,下面介绍
命令生成代码模板
-
安装
esp-generate:
cargo install esp-generate
- 使用命令生成
esp-generate --chip=esp32s3 demo

vscode打开,编译
提示,可以用espflash board-info查看板子信息
烧录
注意,需要选择烧录的镜像,需要找到编译好的镜像烧录

错误类型
没有加载配置文件
Compiling embassy-embedded-hal v0.3.2
Compiling esp-hal v1.0.0-rc.0
Compiling esp-wifi v0.15.0
error: linker xtensa-esp32-elf-gcc not found
|
= note: No such file or directory (os error 2)
error: could not compile demo (bin "demo") due to 1 previous error
需要加载配置文件
source ~/export-esp.sh
烧录失败

修改文件权限
linux对于文件具有限制,有时候如果没有权限就会导致烧录失败

Rust语言开发ESP32入门指南



1402

被折叠的 条评论
为什么被折叠?



