マイクロコントローラ

cortex_m_rtクレートはCortex Mマイクロコントローラ向けのリセットハンドラ(とその他もろもろ)を提供します。

#![no_main]
#![no_std]

extern crate panic_halt as _;

mod interrupts;

use cortex_m_rt::entry;

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

次は、抽象度の低いレベルから順に周辺I/Oにアクセスする方法について見ていきます。

  • リセットハンドラはリターンしないので、cortex_m_rt::entryマクロは対象関数がfn() -> !という型であることを要求します。
  • この例はcargo embed --bin minimalにより実行します