
Domain Embedded
作者 actionbook5c40d3ad7851无许可证1.5K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库6周前更新
Use when developing embedded/no_std Rust. Keywords: embedded, no_std, microcontroller, MCU, ARM, RISC-V, bare metal, firmware, HAL, PAC, RTIC, embassy, interrupt, DMA, peripheral, GPIO, SPI, I2C, UART, embedded-hal, cortex-m, esp32, stm32, nrf, 嵌入式, 单片机, 固件, 裸机
指导 Rust 嵌入式与 no_std 开发,涵盖约束、框架、crate 与硬件模式。
- 功能
- 该技能为编写嵌入式与 no_std Rust(例如微控制器固件)提供领域指导。它列出无堆分配、中断安全与外设所有权等约束,并对应到 heapless 集合、临界区与 HAL 单例等 Rust 模式。它还比较框架(RTIC、Embassy、裸机)、列出常用 crate,并给出静态外设代码示例与常见错误。产出的是参考性说明,而非文件或脚本。
- 适用场景
- 适用于开发嵌入式或裸机 Rust,包括面向 ARM、RISC-V、STM32、ESP32、nRF 等 MCU 的 no_std 固件。涉及 HAL、PAC、中断、DMA 或外设,或在 RTIC、Embassy 与裸机方案之间做选择时也适用。
- 运行要求
- 无需脚本或工具,仅为说明性内容。它假定处于 Rust 嵌入式项目环境,其注入的上下文会在存在时读取 .cargo/config.toml。
Project Context (Auto-Injected)
Target configuration:
!cat .cargo/config.toml 2>/dev/null || echo "No .cargo/config.toml found"
Embedded Domain
Layer 3: Domain Constraints
Domain Constraints → Design Implications
Critical Constraints
No Dynamic Allocation
Interrupt Safety
Hardware Ownership
Trace Down ↓
From constraints to design (Layer 2):
Layer Stack
Framework Comparison
Key Crates
Design Patterns
Code Pattern: Static Peripheral
Common Mistakes
Trace to Layer 1
Related Skills