Skip to main content

pl022_instance

Macro pl022_instance 

Source
macro_rules! pl022_instance {
    ($sig_name:ident, $isr_name:ident, base = $base:expr) => { ... };
}
Expand description

Declares a static Signal and a named fn() ISR bound to it, for one physical PL022 instance’s completion interrupt. See Pl022::new for why this can’t just be a generic function with an inline static.

rivet_bsp_support::pl022_instance!(SPI0_SIG, spi0_isr, base = 0x4000_8000);
let spi0 = unsafe { rivet_bsp_support::pl022::Pl022::new(0x4000_8000, &SPI0_SIG) };
rivet::irq::register(IRQ_SPI0, spi0_isr).unwrap();
rivet::irq::enable(IRQ_SPI0);