マイクロコントローラ
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で実行します