マイクロコントローラ

cortex_m_rt クレートは、(ほかにもいくつかの機能がありますが)Cortex M マイクロコントローラ用のリセットハンドラを提供します。

// 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 で実行します