rust 嵌入式esp23 《hello word》

学习rust嵌入式之esp32单片机,从打印hello word开发。 rust 嵌入式 ESP23

搭建环境:

相关连接:docs.espressif.com/projects/ru...

安装rust www.rust-lang.org/zh-CN/tools... 验证是否安装成功:

shell 复制代码
cargo -V

安装espup

shell 复制代码
cargo install espup --locked

espup 安装相关依赖

shell 复制代码
espup install

安装ldproxy 相关配置

shell 复制代码
cargo install ldproxy

安装esp-generate项目生成工具:

shell 复制代码
cargo install esp-generate

运行项目:

构建项目代码 (your-project)自定义项目名称

js 复制代码
esp-generate --chip=esp32c6 your-project

项目结构

file 复制代码
├── build.rs
├── .cargo
│   └── config.toml
├── Cargo.toml
├── .gitignore
├── rust-toolchain.toml
├── src
│   ├── bin
│   │   └── main.rs
│   └── lib.rs
└── .vscode
    └── settings.json

修改src/bin/main.rs的代码

rs 复制代码
#![no_std]
#![no_main]
#![deny(
    clippy::mem_forget,
    reason = "mem::forget is generally not safe to do with esp_hal types, especially those \
    holding buffers for the duration of a data transfer."
)]

use esp_hal::{
    clock::CpuClock,
    main,
    time::{Duration, Instant},
};
use esp_println::println;

#[panic_handler]
fn panic(_: &core::panic::PanicInfo) -> ! {
    loop {
        println!("111 world!");
        println!("Panic!");
    }
}

// This creates a default app-descriptor required by the esp-idf bootloader.
// For more information see: <https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/app_image_format.html#application-description>
esp_bootloader_esp_idf::esp_app_desc!();

#[main]
fn main() -> ! {
    // generator version: 0.5.0
    let config = esp_hal::Config::default().with_cpu_clock(CpuClock::max());
    let _peripherals = esp_hal::init(config);

    loop {
        println!("hello world!");
        let delay_start = Instant::now();
        while delay_start.elapsed() < Duration::from_millis(500) {}
    }

    // for inspiration have a look at the examples at https://github.com/esp-rs/esp-hal/tree/esp-hal-v1.0.0-rc.0/examples/src/bin
}

插入esp32设备连接电脑usb

运行项目

shell 复制代码
cargo run

结果成功

!如果未插入设备标识运行成功但是没有烧录

相关推荐
道剑剑非道14 小时前
MIPS内存体系结构与龙芯1E300地址空间映射
嵌入式·龙芯·mips
飞凌嵌入式1 天前
当门禁系统遇上边缘计算,RK3568核心板如何带来智能化变革
人工智能·嵌入式硬件·嵌入式·边缘计算·飞凌嵌入式
霜廷3 天前
计算机三级嵌入式填空题——真题库(24)原题附答案速记
嵌入式·计算机等级考试·计算机三级嵌入式填空题真题库·计算机三级嵌入式
智驾4 天前
MCU平台化实践方案
单片机·嵌入式硬件·mcu·嵌入式
来根烟了寂寞5 天前
瑞芯微rv1106交叉编译openssl 1.x
linux·嵌入式
一刻缱绻6 天前
BLE L2CAP 解析
后端·嵌入式
展信佳_daydayup9 天前
03 基础篇-润和开发板连接过程
linux·开源·嵌入式
DIY机器人工房10 天前
QT代码框架小案例:一个简单的时间类(Time)及其实例化程序,模拟了时间的设置、显示和自动流逝功能,类似一个简易电子时钟。
stm32·单片机·嵌入式硬件·嵌入式·diy机器人工房
飞凌嵌入式10 天前
高性能、高实时、高安全:如何在飞凌嵌入式i.MX95xx核心板上同时实现?
嵌入式硬件·安全·嵌入式·飞凌嵌入式