rust开发esp32

Rust语言开发ESP32入门指南

注:部分灵感来自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,而不是自己单独装 rustccargo


✅ 总结对比表

名称类型作用备注
rustc编译器.rs 编译成机器码直接编译,不含依赖管理
cargo构建工具项目管理、依赖管理、构建打包Rust 项目首选方式
rustup工具链管理器安装/切换/管理 rust 工具链推荐安装方式
Rust编程语言整体技术体系包含上面所有

配置开发环境

esp32环境设置

注,本人由于版本低的问题,导致配置esp环境耗费很长时间,开发esp平台,建议使用nightly版本,可以保证使用新的特性

创建模板

命令生成代码模板

  • 安装 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对于文件具有限制,有时候如果没有权限就会导致烧录失败

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值