第一次用Rust点亮ESP32-C3:比想象中顺滑

本文记录了作者首次使用Rust语言在ESP32-C3 SuperMini开发板上进行嵌入式开发的完整过程。从安装esp-generate工具、创建esp32c3项目,到添加GPIO控制代码实现LED闪烁,整个流程行云流水。作者只需引入gpio模块、初始化LED引脚、在循环中切换电平三处代码修改,即可通过cargo run一键完成构建、烧录和串口监视。相比传统嵌入式开发,Rust的工具链成熟度令人惊喜,开发体验远超预期,为嵌入式开发者提供了全新的选择。

别再瞎找了!这份嵌入式 Rust 武林秘籍,从入门到起飞,保姆级带你逛遍 awesome-embedded-rust!

刚接触嵌入式 Rust 却被 PAC、HAL、BSP 搞晕?环境配置难、资料零散?别慌!本文手把手带你玩转社区宝藏项目 awesome-embedded-rust——这份被誉为“嵌入式 Rust 藏宝图”的资源清单,涵盖入门书籍、调试工具、芯片支持、驱动库和 no-std 实用组件。文章分三步教你快速上手:先找社区读文档磨工具,再理解三层架构(PAC/HAL/BSP),最后用驱动和实用库高效开发。新手也能轻松点亮第一颗 LED!

LiLoS:极简异步实时操作系统,嵌入式开发的利器

LiLoS是一款专为微控制器设计的极简异步实时操作系统,仅需2KB Flash和40字节RAM即可运行完整异步运行时。支持多任务调度、join/select并发控制,采用模块化架构设计,自2019年起已在多个实际项目中稳定运行,特别适合物联网设备和实时控制系统等资源受限场景。

ESP-IDF-HAL:解锁 ESP32 系列芯片的 Rust 编程新境界

ESP-IDF-HAL 是连接 Rust 语言与 ESP32 芯片的桥梁,提供安全高效的硬件访问能力。它全面兼容 embedded-hal 标准,支持 GPIO、SPI、I2C、PWM 等丰富驱动,兼具阻塞与异步编程模式。开发者可借助该库快速构建物联网、智能家居及工业控制等嵌入式应用,充分发挥 Rust 的内存安全优势。

Embedded-HAL:一个针对嵌入式系统的硬件抽象层

嵌入式开发长期被硬件碎片化困扰,Rust语言的embedded-hal通过标准化硬件抽象层traits,让驱动程序实现跨平台复用。无论是Cortex-M还是AVR,开发者只需关注业务逻辑,无需纠缠寄存器细节。支持阻塞、非阻塞、异步三种模式,大幅降低嵌入式开发门槛,为Rust嵌入式生态奠定基石。

RTIC:一个专门为实时系统设计的并发框架

RTIC是一个专为实时系统设计的Rust并发框架,支持Cortex-M和RISC-V等嵌入式平台。它通过硬件加速调度,实现零死锁、高安全性的多任务处理,提供任务调度、消息传递、定时器队列、优先级抢占等功能。相比传统RTOS,RTIC调度开销极低,不依赖动态内存,适合资源受限的嵌入式开发场景,是硬实时系统开发的利器。

开源教程 rust-raspberrypi-OS-tutorials,用 Rust 在树莓派上从零做一个操作系统

rust-raspberrypi-OS-tutorials是一套开源操作系统开发教程,每章都是可独立启动的内核镜像,循序渐进讲解串口输出、虚拟内存、异常处理等功能。教程面向ARMv8-A架构,主要运行在树莓派3和4上,采用Rust语言兼顾性能与内存安全。提供Docker容器解决环境配置难题,支持QEMU模拟和真机测试,适合想深入理解操作系统底层原理的开发者。

RTIC,一个基于 Rust 的「硬件加速 RTOS」

RTIC(Real-Time Interrupt-driven Concurrency)是一个基于Rust的轻量级嵌入式实时操作系统框架。它采用中断驱动任务调度,硬件NVIC优先级直接映射为任务优先级,实现零动态内存分配和编译期死锁检测。RTIC解决了嵌入式开发中的核心痛点:无需手动管理中断优先级、避免资源抢占死锁、消除内存碎片问题。适合对实时性、内存敏感且需要精确WCET分析的工业控制场景。目前全面支持Cortex-M和RISC-V架构。

Tock:一款能在几十 KB 的内存里,安全地并发运行多个“互不信任”应用的嵌入式操作系统

Tock是一款专为资源受限嵌入式设备设计的操作系统,支持Cortex-M和RISC-V平台,仅需几十KB内存即可安全并发运行多个互不信任的应用。它采用Rust编写内核和驱动,通过编译期检查消除内存安全问题;利用MPU硬件隔离技术,确保单个应用崩溃不影响系统整体。适用于工业控制、物联网网关等高可靠性场景,是嵌入式系统迈向安全化时代的重要选择。

Embassy:以 Rust 语言为基础,结合异步编程模式,为嵌入式开发提供了一个全新、现代化的解决方案

Embassy是一个基于Rust语言的现代化嵌入式开发框架,采用异步编程模式解决传统嵌入式开发中的多任务管理、内存安全等问题。它提供丰富的硬件抽象层(HAL),支持时间管理、网络、蓝牙、LoRa等功能。相比传统RTOS,Embassy让开发者使用async/await语法轻松实现非阻塞代码,避免复杂的线程管理。Rust语言的内存安全特性在编译阶段就能发现潜在错误,从根本上保障代码可靠性,是嵌入式开发领域的重要创新。