3 微控制器

微控制器 — Comprehensive Rust

译文 · 基于 Comprehensive Rust

原文链接: https://google.github.io/comprehensive-rust/bare-metal/microcontrollers.html

3 微控制器

cortex_m_rt crate(除其他功能外)为 Cortex M 微控制器提供复位处理程序(reset handler)。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
#![no_main]
#![no_std]

extern crate panic_halt as _;

mod interrupts;

use cortex_m_rt::entry;

#[entry]
fn main() -> ! {
    loop {}
}

接下来我们会看如何访问外设,抽象层级逐步提高。

  • cortex_m_rt::entry 宏要求函数类型为 fn() -> !,因为返回到复位处理程序没有意义。
  • 用 cargo embed --bin minimal 运行示例。

3.1 原始 MMIO

01-原始 MMIO — Comprehensive Rust

3.2 PAC

02-PAC — Comprehensive Rust

3.3 HAL Crate

03-HAL Crate — Comprehensive Rust

3.4 板级支持 Crate

04-板级支持 Crate — Comprehensive Rust

3.5 类型状态模式

05-类型状态模式 — Comprehensive Rust

3.6 `embedded-hal`

06-embedded-hal — Comprehensive Rust

3.7 `probe-rs` 与 `cargo-embed`

probe-rs 与 cargo-embed — Comprehensive Rust

3.8 其他项目

07-其他项目 — Comprehensive Rust

最后修改 August 11, 2026: 更新 (70a5af133)