#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::RWRegister;
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod NVICISER0 {
pub mod SETENA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICISER1 {
pub use super::NVICISER0::SETENA;
}
pub mod NVICISER2 {
pub use super::NVICISER0::SETENA;
}
pub mod NVICISER3 {
pub use super::NVICISER0::SETENA;
}
pub mod NVICICER0 {
pub mod CLRENA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICICER1 {
pub use super::NVICICER0::CLRENA;
}
pub mod NVICICER2 {
pub use super::NVICICER0::CLRENA;
}
pub mod NVICICER3 {
pub use super::NVICICER0::CLRENA;
}
pub mod NVICISPR0 {
pub mod SETPEND {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICISPR1 {
pub use super::NVICISPR0::SETPEND;
}
pub mod NVICISPR2 {
pub use super::NVICISPR0::SETPEND;
}
pub mod NVICISPR3 {
pub use super::NVICISPR0::SETPEND;
}
pub mod NVICICPR0 {
pub mod CLRPEND {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICICPR1 {
pub use super::NVICICPR0::CLRPEND;
}
pub mod NVICICPR2 {
pub use super::NVICICPR0::CLRPEND;
}
pub mod NVICICPR3 {
pub use super::NVICICPR0::CLRPEND;
}
pub mod NVICIABR0 {
pub mod ACTIVE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIABR1 {
pub use super::NVICIABR0::ACTIVE;
}
pub mod NVICIABR2 {
pub use super::NVICIABR0::ACTIVE;
}
pub mod NVICIABR3 {
pub use super::NVICIABR0::ACTIVE;
}
pub mod NVICIP0 {
pub mod PRI0 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP1 {
pub mod PRI1 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP2 {
pub mod PRI2 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP3 {
pub mod PRI3 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP4 {
pub mod PRI4 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP5 {
pub mod PRI5 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP6 {
pub mod PRI6 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP7 {
pub mod PRI7 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP8 {
pub mod PRI8 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP9 {
pub mod PRI9 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP10 {
pub mod PRI10 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP11 {
pub mod PRI11 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP12 {
pub mod PRI12 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP13 {
pub mod PRI13 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP14 {
pub mod PRI14 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP15 {
pub mod PRI15 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP16 {
pub mod PRI16 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP17 {
pub mod PRI17 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP18 {
pub mod PRI18 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP19 {
pub mod PRI19 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP20 {
pub mod PRI20 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP21 {
pub mod PRI21 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP22 {
pub mod PRI22 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP23 {
pub mod PRI23 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP24 {
pub mod PRI24 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP25 {
pub mod PRI25 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP26 {
pub mod PRI26 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP27 {
pub mod PRI27 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP28 {
pub mod PRI28 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP29 {
pub mod PRI29 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP30 {
pub mod PRI30 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP31 {
pub mod PRI31 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP32 {
pub mod PRI32 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP33 {
pub mod PRI33 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP34 {
pub mod PRI34 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP35 {
pub mod PRI35 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP36 {
pub mod PRI36 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP37 {
pub mod PRI37 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP38 {
pub mod PRI38 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP39 {
pub mod PRI39 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP40 {
pub mod PRI40 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP41 {
pub mod PRI41 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP42 {
pub mod PRI42 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP43 {
pub mod PRI43 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP44 {
pub mod PRI44 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP45 {
pub mod PRI45 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP46 {
pub mod PRI46 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP47 {
pub mod PRI47 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP48 {
pub mod PRI48 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP49 {
pub mod PRI49 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP50 {
pub mod PRI50 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP51 {
pub mod PRI51 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP52 {
pub mod PRI52 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP53 {
pub mod PRI53 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP54 {
pub mod PRI54 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP55 {
pub mod PRI55 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP56 {
pub mod PRI56 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP57 {
pub mod PRI57 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP58 {
pub mod PRI58 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP59 {
pub mod PRI59 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP60 {
pub mod PRI60 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP61 {
pub mod PRI61 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP62 {
pub mod PRI62 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP63 {
pub mod PRI63 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP64 {
pub mod PRI64 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP65 {
pub mod PRI65 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP66 {
pub mod PRI66 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP67 {
pub mod PRI67 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP68 {
pub mod PRI68 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP69 {
pub mod PRI69 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP70 {
pub mod PRI70 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP71 {
pub mod PRI71 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP72 {
pub mod PRI72 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP73 {
pub mod PRI73 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP74 {
pub mod PRI74 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP75 {
pub mod PRI75 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP76 {
pub mod PRI76 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP77 {
pub mod PRI77 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP78 {
pub mod PRI78 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICIP79 {
pub mod PRI79 {
pub const offset: u8 = 4;
pub const mask: u8 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod NVICSTIR {
pub mod INTID {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub NVICISER0: RWRegister<u32>,
pub NVICISER1: RWRegister<u32>,
pub NVICISER2: RWRegister<u32>,
pub NVICISER3: RWRegister<u32>,
_reserved1: [u32; 28],
pub NVICICER0: RWRegister<u32>,
pub NVICICER1: RWRegister<u32>,
pub NVICICER2: RWRegister<u32>,
pub NVICICER3: RWRegister<u32>,
_reserved2: [u32; 28],
pub NVICISPR0: RWRegister<u32>,
pub NVICISPR1: RWRegister<u32>,
pub NVICISPR2: RWRegister<u32>,
pub NVICISPR3: RWRegister<u32>,
_reserved3: [u32; 28],
pub NVICICPR0: RWRegister<u32>,
pub NVICICPR1: RWRegister<u32>,
pub NVICICPR2: RWRegister<u32>,
pub NVICICPR3: RWRegister<u32>,
_reserved4: [u32; 28],
pub NVICIABR0: RWRegister<u32>,
pub NVICIABR1: RWRegister<u32>,
pub NVICIABR2: RWRegister<u32>,
pub NVICIABR3: RWRegister<u32>,
_reserved5: [u32; 60],
pub NVICIP0: RWRegister<u8>,
pub NVICIP1: RWRegister<u8>,
pub NVICIP2: RWRegister<u8>,
pub NVICIP3: RWRegister<u8>,
pub NVICIP4: RWRegister<u8>,
pub NVICIP5: RWRegister<u8>,
pub NVICIP6: RWRegister<u8>,
pub NVICIP7: RWRegister<u8>,
pub NVICIP8: RWRegister<u8>,
pub NVICIP9: RWRegister<u8>,
pub NVICIP10: RWRegister<u8>,
pub NVICIP11: RWRegister<u8>,
pub NVICIP12: RWRegister<u8>,
pub NVICIP13: RWRegister<u8>,
pub NVICIP14: RWRegister<u8>,
pub NVICIP15: RWRegister<u8>,
pub NVICIP16: RWRegister<u8>,
pub NVICIP17: RWRegister<u8>,
pub NVICIP18: RWRegister<u8>,
pub NVICIP19: RWRegister<u8>,
pub NVICIP20: RWRegister<u8>,
pub NVICIP21: RWRegister<u8>,
pub NVICIP22: RWRegister<u8>,
pub NVICIP23: RWRegister<u8>,
pub NVICIP24: RWRegister<u8>,
pub NVICIP25: RWRegister<u8>,
pub NVICIP26: RWRegister<u8>,
pub NVICIP27: RWRegister<u8>,
pub NVICIP28: RWRegister<u8>,
pub NVICIP29: RWRegister<u8>,
pub NVICIP30: RWRegister<u8>,
pub NVICIP31: RWRegister<u8>,
pub NVICIP32: RWRegister<u8>,
pub NVICIP33: RWRegister<u8>,
pub NVICIP34: RWRegister<u8>,
pub NVICIP35: RWRegister<u8>,
pub NVICIP36: RWRegister<u8>,
pub NVICIP37: RWRegister<u8>,
pub NVICIP38: RWRegister<u8>,
pub NVICIP39: RWRegister<u8>,
pub NVICIP40: RWRegister<u8>,
pub NVICIP41: RWRegister<u8>,
pub NVICIP42: RWRegister<u8>,
pub NVICIP43: RWRegister<u8>,
pub NVICIP44: RWRegister<u8>,
pub NVICIP45: RWRegister<u8>,
pub NVICIP46: RWRegister<u8>,
pub NVICIP47: RWRegister<u8>,
pub NVICIP48: RWRegister<u8>,
pub NVICIP49: RWRegister<u8>,
pub NVICIP50: RWRegister<u8>,
pub NVICIP51: RWRegister<u8>,
pub NVICIP52: RWRegister<u8>,
pub NVICIP53: RWRegister<u8>,
pub NVICIP54: RWRegister<u8>,
pub NVICIP55: RWRegister<u8>,
pub NVICIP56: RWRegister<u8>,
pub NVICIP57: RWRegister<u8>,
pub NVICIP58: RWRegister<u8>,
pub NVICIP59: RWRegister<u8>,
pub NVICIP60: RWRegister<u8>,
pub NVICIP61: RWRegister<u8>,
pub NVICIP62: RWRegister<u8>,
pub NVICIP63: RWRegister<u8>,
pub NVICIP64: RWRegister<u8>,
pub NVICIP65: RWRegister<u8>,
pub NVICIP66: RWRegister<u8>,
pub NVICIP67: RWRegister<u8>,
pub NVICIP68: RWRegister<u8>,
pub NVICIP69: RWRegister<u8>,
pub NVICIP70: RWRegister<u8>,
pub NVICIP71: RWRegister<u8>,
pub NVICIP72: RWRegister<u8>,
pub NVICIP73: RWRegister<u8>,
pub NVICIP74: RWRegister<u8>,
pub NVICIP75: RWRegister<u8>,
pub NVICIP76: RWRegister<u8>,
pub NVICIP77: RWRegister<u8>,
pub NVICIP78: RWRegister<u8>,
pub NVICIP79: RWRegister<u8>,
_reserved6: [u32; 684],
pub NVICSTIR: RWRegister<u32>,
}
pub struct ResetValues {
pub NVICISER0: u32,
pub NVICISER1: u32,
pub NVICISER2: u32,
pub NVICISER3: u32,
pub NVICICER0: u32,
pub NVICICER1: u32,
pub NVICICER2: u32,
pub NVICICER3: u32,
pub NVICISPR0: u32,
pub NVICISPR1: u32,
pub NVICISPR2: u32,
pub NVICISPR3: u32,
pub NVICICPR0: u32,
pub NVICICPR1: u32,
pub NVICICPR2: u32,
pub NVICICPR3: u32,
pub NVICIABR0: u32,
pub NVICIABR1: u32,
pub NVICIABR2: u32,
pub NVICIABR3: u32,
pub NVICIP0: u8,
pub NVICIP1: u8,
pub NVICIP2: u8,
pub NVICIP3: u8,
pub NVICIP4: u8,
pub NVICIP5: u8,
pub NVICIP6: u8,
pub NVICIP7: u8,
pub NVICIP8: u8,
pub NVICIP9: u8,
pub NVICIP10: u8,
pub NVICIP11: u8,
pub NVICIP12: u8,
pub NVICIP13: u8,
pub NVICIP14: u8,
pub NVICIP15: u8,
pub NVICIP16: u8,
pub NVICIP17: u8,
pub NVICIP18: u8,
pub NVICIP19: u8,
pub NVICIP20: u8,
pub NVICIP21: u8,
pub NVICIP22: u8,
pub NVICIP23: u8,
pub NVICIP24: u8,
pub NVICIP25: u8,
pub NVICIP26: u8,
pub NVICIP27: u8,
pub NVICIP28: u8,
pub NVICIP29: u8,
pub NVICIP30: u8,
pub NVICIP31: u8,
pub NVICIP32: u8,
pub NVICIP33: u8,
pub NVICIP34: u8,
pub NVICIP35: u8,
pub NVICIP36: u8,
pub NVICIP37: u8,
pub NVICIP38: u8,
pub NVICIP39: u8,
pub NVICIP40: u8,
pub NVICIP41: u8,
pub NVICIP42: u8,
pub NVICIP43: u8,
pub NVICIP44: u8,
pub NVICIP45: u8,
pub NVICIP46: u8,
pub NVICIP47: u8,
pub NVICIP48: u8,
pub NVICIP49: u8,
pub NVICIP50: u8,
pub NVICIP51: u8,
pub NVICIP52: u8,
pub NVICIP53: u8,
pub NVICIP54: u8,
pub NVICIP55: u8,
pub NVICIP56: u8,
pub NVICIP57: u8,
pub NVICIP58: u8,
pub NVICIP59: u8,
pub NVICIP60: u8,
pub NVICIP61: u8,
pub NVICIP62: u8,
pub NVICIP63: u8,
pub NVICIP64: u8,
pub NVICIP65: u8,
pub NVICIP66: u8,
pub NVICIP67: u8,
pub NVICIP68: u8,
pub NVICIP69: u8,
pub NVICIP70: u8,
pub NVICIP71: u8,
pub NVICIP72: u8,
pub NVICIP73: u8,
pub NVICIP74: u8,
pub NVICIP75: u8,
pub NVICIP76: u8,
pub NVICIP77: u8,
pub NVICIP78: u8,
pub NVICIP79: u8,
pub NVICSTIR: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtfm")]
unsafe impl Send for Instance {}
pub mod NVIC {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0xe000e100,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
NVICISER0: 0x00000000,
NVICISER1: 0x00000000,
NVICISER2: 0x00000000,
NVICISER3: 0x00000000,
NVICICER0: 0x00000000,
NVICICER1: 0x00000000,
NVICICER2: 0x00000000,
NVICICER3: 0x00000000,
NVICISPR0: 0x00000000,
NVICISPR1: 0x00000000,
NVICISPR2: 0x00000000,
NVICISPR3: 0x00000000,
NVICICPR0: 0x00000000,
NVICICPR1: 0x00000000,
NVICICPR2: 0x00000000,
NVICICPR3: 0x00000000,
NVICIABR0: 0x00000000,
NVICIABR1: 0x00000000,
NVICIABR2: 0x00000000,
NVICIABR3: 0x00000000,
NVICIP0: 0x00000000,
NVICIP1: 0x00000000,
NVICIP2: 0x00000000,
NVICIP3: 0x00000000,
NVICIP4: 0x00000000,
NVICIP5: 0x00000000,
NVICIP6: 0x00000000,
NVICIP7: 0x00000000,
NVICIP8: 0x00000000,
NVICIP9: 0x00000000,
NVICIP10: 0x00000000,
NVICIP11: 0x00000000,
NVICIP12: 0x00000000,
NVICIP13: 0x00000000,
NVICIP14: 0x00000000,
NVICIP15: 0x00000000,
NVICIP16: 0x00000000,
NVICIP17: 0x00000000,
NVICIP18: 0x00000000,
NVICIP19: 0x00000000,
NVICIP20: 0x00000000,
NVICIP21: 0x00000000,
NVICIP22: 0x00000000,
NVICIP23: 0x00000000,
NVICIP24: 0x00000000,
NVICIP25: 0x00000000,
NVICIP26: 0x00000000,
NVICIP27: 0x00000000,
NVICIP28: 0x00000000,
NVICIP29: 0x00000000,
NVICIP30: 0x00000000,
NVICIP31: 0x00000000,
NVICIP32: 0x00000000,
NVICIP33: 0x00000000,
NVICIP34: 0x00000000,
NVICIP35: 0x00000000,
NVICIP36: 0x00000000,
NVICIP37: 0x00000000,
NVICIP38: 0x00000000,
NVICIP39: 0x00000000,
NVICIP40: 0x00000000,
NVICIP41: 0x00000000,
NVICIP42: 0x00000000,
NVICIP43: 0x00000000,
NVICIP44: 0x00000000,
NVICIP45: 0x00000000,
NVICIP46: 0x00000000,
NVICIP47: 0x00000000,
NVICIP48: 0x00000000,
NVICIP49: 0x00000000,
NVICIP50: 0x00000000,
NVICIP51: 0x00000000,
NVICIP52: 0x00000000,
NVICIP53: 0x00000000,
NVICIP54: 0x00000000,
NVICIP55: 0x00000000,
NVICIP56: 0x00000000,
NVICIP57: 0x00000000,
NVICIP58: 0x00000000,
NVICIP59: 0x00000000,
NVICIP60: 0x00000000,
NVICIP61: 0x00000000,
NVICIP62: 0x00000000,
NVICIP63: 0x00000000,
NVICIP64: 0x00000000,
NVICIP65: 0x00000000,
NVICIP66: 0x00000000,
NVICIP67: 0x00000000,
NVICIP68: 0x00000000,
NVICIP69: 0x00000000,
NVICIP70: 0x00000000,
NVICIP71: 0x00000000,
NVICIP72: 0x00000000,
NVICIP73: 0x00000000,
NVICIP74: 0x00000000,
NVICIP75: 0x00000000,
NVICIP76: 0x00000000,
NVICIP77: 0x00000000,
NVICIP78: 0x00000000,
NVICIP79: 0x00000000,
NVICSTIR: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut NVIC_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if NVIC_TAKEN {
None
} else {
NVIC_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if NVIC_TAKEN && inst.addr == INSTANCE.addr {
NVIC_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
NVIC_TAKEN = true;
INSTANCE
}
}
pub const NVIC: *const RegisterBlock = 0xe000e100 as *const _;