Add rt
feature to HALs, cfg out interrupt handling when not set.
This commit is contained in:
@ -12,6 +12,7 @@ use crate::interrupt::InterruptExt;
|
||||
use crate::pac::dma::vals;
|
||||
use crate::{interrupt, pac, peripherals};
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn DMA_IRQ_0() {
|
||||
let ints0 = pac::DMA.ints0().read().ints0();
|
||||
|
@ -142,6 +142,7 @@ pub(crate) unsafe fn init() {
|
||||
interrupt::IO_IRQ_BANK0.enable();
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn IO_IRQ_BANK0() {
|
||||
let cpu = SIO.cpuid().read() as usize;
|
||||
|
@ -43,6 +43,7 @@ pub use rp_pac as pac;
|
||||
#[cfg(not(feature = "unstable-pac"))]
|
||||
pub(crate) use rp_pac as pac;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
pub use crate::pac::NVIC_PRIO_BITS;
|
||||
|
||||
embassy_cortex_m::interrupt_mod!(
|
||||
|
@ -106,6 +106,7 @@ impl<const SIZE: usize> Stack<SIZE> {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
#[link_section = ".data.ram_func"]
|
||||
unsafe fn SIO_IRQ_PROC1() {
|
||||
@ -297,6 +298,7 @@ fn fifo_read() -> u32 {
|
||||
|
||||
// Pop a value from inter-core FIFO, `wfe` until available
|
||||
#[inline(always)]
|
||||
#[allow(unused)]
|
||||
fn fifo_read_wfe() -> u32 {
|
||||
unsafe {
|
||||
let sio = pac::SIO;
|
||||
|
@ -85,6 +85,7 @@ const RXNEMPTY_MASK: u32 = 1 << 0;
|
||||
const TXNFULL_MASK: u32 = 1 << 4;
|
||||
const SMIRQ_MASK: u32 = 1 << 8;
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn PIO0_IRQ_0() {
|
||||
use crate::pac;
|
||||
@ -97,6 +98,7 @@ unsafe fn PIO0_IRQ_0() {
|
||||
pac::PIO0.irqs(0).inte().write_clear(|m| m.0 = ints);
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn PIO1_IRQ_0() {
|
||||
use crate::pac;
|
||||
|
@ -151,21 +151,25 @@ pub unsafe fn init() {
|
||||
interrupt::TIMER_IRQ_3.enable();
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn TIMER_IRQ_0() {
|
||||
DRIVER.check_alarm(0)
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn TIMER_IRQ_1() {
|
||||
DRIVER.check_alarm(1)
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn TIMER_IRQ_2() {
|
||||
DRIVER.check_alarm(2)
|
||||
}
|
||||
|
||||
#[cfg(feature = "rt")]
|
||||
#[interrupt]
|
||||
unsafe fn TIMER_IRQ_3() {
|
||||
DRIVER.check_alarm(3)
|
||||
|
Reference in New Issue
Block a user