pub const NVIC_PRIO_BITS: u8 = 3;
#[cfg(feature = "rt")]
pub use self::Interrupt as interrupt;
pub use cortex_m::peripheral::Peripherals as CorePeripherals;
pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
#[cfg(feature = "rt")]
pub use cortex_m_rt::interrupt;
#[cfg(feature = "rt")]
extern "C" {
fn WWDG();
fn PVD_PVM();
fn RTC();
fn RTC_S();
fn TAMP();
fn TAMP_S();
fn FLASH();
fn FLASH_S();
fn GTZC();
fn RCC();
fn RCC_S();
fn EXTI0();
fn EXTI1();
fn EXTI2();
fn EXTI3();
fn EXTI4();
fn EXTI5();
fn EXTI6();
fn EXTI7();
fn EXTI8();
fn EXTI9();
fn EXTI10();
fn EXTI11();
fn EXTI12();
fn EXTI13();
fn EXTI14();
fn EXTI15();
fn DMAMUX1_OVR();
fn DMAMUX1_OVR_S();
fn DMA1_CH1();
fn DMA1_CH2();
fn DMA1_CH3();
fn DMA1_CH4();
fn DMA1_CH5();
fn DMA1_CH6();
fn DMA1_CH7();
fn DMA1_CHANNEL8();
fn ADC1_2();
fn DAC();
fn FDCAN1_IT0();
fn FDCAN1_IT1();
fn TIM1_BRK();
fn TIM1_UP();
fn TIM1_TRG_COM();
fn TIM1_CC();
fn TIM2();
fn TIM3();
fn TIM4();
fn TIM5();
fn TIM6();
fn TIM7();
fn TIM8_BRK();
fn TIM8_UP();
fn TIM8_TRG_COM();
fn TIM8_CC();
fn I2C1_EV();
fn I2C1_ER();
fn I2C2_EV();
fn I2C2_ER();
fn SPI1();
fn SPI2();
fn USART1();
fn USART2();
fn USART3();
fn UART4();
fn UART5();
fn LPUART1();
fn LPTIM1();
fn LPTIM2();
fn TIM15();
fn TIM16();
fn TIM17();
fn COMP();
fn USB_FS();
fn CRS();
fn FMC();
fn OCTOSPI1();
fn SDMMC1();
fn DMA2_CH1();
fn DMA2_CH2();
fn DMA2_CH3();
fn DMA2_CH4();
fn DMA2_CH5();
fn DMA2_CH6();
fn DMA2_CH7();
fn DMA2_CH8();
fn I2C3_EV();
fn I2C3_ER();
fn SAI1();
fn SAI2();
fn TSC();
fn RNG();
fn HASH();
fn LPTIM3();
fn SPI3();
fn I2C4_ER();
fn I2C4_EV();
fn DFSDM1_FLT0();
fn DFSDM1_FLT1();
fn DFSDM1_FLT2();
fn DFSDM1_FLT3();
fn UCPD1();
fn ICACHE();
}
#[doc(hidden)]
#[repr(C)]
pub union Vector {
_handler: unsafe extern "C" fn(),
_reserved: u32,
}
#[cfg(feature = "rt")]
#[doc(hidden)]
#[link_section = ".vector_table.interrupts"]
#[no_mangle]
pub static __INTERRUPTS: [Vector; 108] = [
Vector { _handler: WWDG },
Vector { _handler: PVD_PVM },
Vector { _handler: RTC },
Vector { _handler: RTC_S },
Vector { _handler: TAMP },
Vector { _handler: TAMP_S },
Vector { _handler: FLASH },
Vector { _handler: FLASH_S },
Vector { _handler: GTZC },
Vector { _handler: RCC },
Vector { _handler: RCC_S },
Vector { _handler: EXTI0 },
Vector { _handler: EXTI1 },
Vector { _handler: EXTI2 },
Vector { _handler: EXTI3 },
Vector { _handler: EXTI4 },
Vector { _handler: EXTI5 },
Vector { _handler: EXTI6 },
Vector { _handler: EXTI7 },
Vector { _handler: EXTI8 },
Vector { _handler: EXTI9 },
Vector { _handler: EXTI10 },
Vector { _handler: EXTI11 },
Vector { _handler: EXTI12 },
Vector { _handler: EXTI13 },
Vector { _handler: EXTI14 },
Vector { _handler: EXTI15 },
Vector {
_handler: DMAMUX1_OVR,
},
Vector {
_handler: DMAMUX1_OVR_S,
},
Vector { _handler: DMA1_CH1 },
Vector { _handler: DMA1_CH2 },
Vector { _handler: DMA1_CH3 },
Vector { _handler: DMA1_CH4 },
Vector { _handler: DMA1_CH5 },
Vector { _handler: DMA1_CH6 },
Vector { _handler: DMA1_CH7 },
Vector {
_handler: DMA1_CHANNEL8,
},
Vector { _handler: ADC1_2 },
Vector { _handler: DAC },
Vector {
_handler: FDCAN1_IT0,
},
Vector {
_handler: FDCAN1_IT1,
},
Vector { _handler: TIM1_BRK },
Vector { _handler: TIM1_UP },
Vector {
_handler: TIM1_TRG_COM,
},
Vector { _handler: TIM1_CC },
Vector { _handler: TIM2 },
Vector { _handler: TIM3 },
Vector { _handler: TIM4 },
Vector { _handler: TIM5 },
Vector { _handler: TIM6 },
Vector { _handler: TIM7 },
Vector { _handler: TIM8_BRK },
Vector { _handler: TIM8_UP },
Vector {
_handler: TIM8_TRG_COM,
},
Vector { _handler: TIM8_CC },
Vector { _handler: I2C1_EV },
Vector { _handler: I2C1_ER },
Vector { _handler: I2C2_EV },
Vector { _handler: I2C2_ER },
Vector { _handler: SPI1 },
Vector { _handler: SPI2 },
Vector { _handler: USART1 },
Vector { _handler: USART2 },
Vector { _handler: USART3 },
Vector { _handler: UART4 },
Vector { _handler: UART5 },
Vector { _handler: LPUART1 },
Vector { _handler: LPTIM1 },
Vector { _handler: LPTIM2 },
Vector { _handler: TIM15 },
Vector { _handler: TIM16 },
Vector { _handler: TIM17 },
Vector { _handler: COMP },
Vector { _handler: USB_FS },
Vector { _handler: CRS },
Vector { _handler: FMC },
Vector { _handler: OCTOSPI1 },
Vector { _reserved: 0 },
Vector { _handler: SDMMC1 },
Vector { _reserved: 0 },
Vector { _handler: DMA2_CH1 },
Vector { _handler: DMA2_CH2 },
Vector { _handler: DMA2_CH3 },
Vector { _handler: DMA2_CH4 },
Vector { _handler: DMA2_CH5 },
Vector { _handler: DMA2_CH6 },
Vector { _handler: DMA2_CH7 },
Vector { _handler: DMA2_CH8 },
Vector { _handler: I2C3_EV },
Vector { _handler: I2C3_ER },
Vector { _handler: SAI1 },
Vector { _handler: SAI2 },
Vector { _handler: TSC },
Vector { _reserved: 0 },
Vector { _handler: RNG },
Vector { _reserved: 0 },
Vector { _handler: HASH },
Vector { _reserved: 0 },
Vector { _handler: LPTIM3 },
Vector { _handler: SPI3 },
Vector { _handler: I2C4_ER },
Vector { _handler: I2C4_EV },
Vector {
_handler: DFSDM1_FLT0,
},
Vector {
_handler: DFSDM1_FLT1,
},
Vector {
_handler: DFSDM1_FLT2,
},
Vector {
_handler: DFSDM1_FLT3,
},
Vector { _handler: UCPD1 },
Vector { _handler: ICACHE },
];
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
#[repr(u16)]
pub enum Interrupt {
WWDG = 0,
PVD_PVM = 1,
RTC = 2,
RTC_S = 3,
TAMP = 4,
TAMP_S = 5,
FLASH = 6,
FLASH_S = 7,
GTZC = 8,
RCC = 9,
RCC_S = 10,
EXTI0 = 11,
EXTI1 = 12,
EXTI2 = 13,
EXTI3 = 14,
EXTI4 = 15,
EXTI5 = 16,
EXTI6 = 17,
EXTI7 = 18,
EXTI8 = 19,
EXTI9 = 20,
EXTI10 = 21,
EXTI11 = 22,
EXTI12 = 23,
EXTI13 = 24,
EXTI14 = 25,
EXTI15 = 26,
DMAMUX1_OVR = 27,
DMAMUX1_OVR_S = 28,
DMA1_CH1 = 29,
DMA1_CH2 = 30,
DMA1_CH3 = 31,
DMA1_CH4 = 32,
DMA1_CH5 = 33,
DMA1_CH6 = 34,
DMA1_CH7 = 35,
DMA1_CHANNEL8 = 36,
ADC1_2 = 37,
DAC = 38,
FDCAN1_IT0 = 39,
FDCAN1_IT1 = 40,
TIM1_BRK = 41,
TIM1_UP = 42,
TIM1_TRG_COM = 43,
TIM1_CC = 44,
TIM2 = 45,
TIM3 = 46,
TIM4 = 47,
TIM5 = 48,
TIM6 = 49,
TIM7 = 50,
TIM8_BRK = 51,
TIM8_UP = 52,
TIM8_TRG_COM = 53,
TIM8_CC = 54,
I2C1_EV = 55,
I2C1_ER = 56,
I2C2_EV = 57,
I2C2_ER = 58,
SPI1 = 59,
SPI2 = 60,
USART1 = 61,
USART2 = 62,
USART3 = 63,
UART4 = 64,
UART5 = 65,
LPUART1 = 66,
LPTIM1 = 67,
LPTIM2 = 68,
TIM15 = 69,
TIM16 = 70,
TIM17 = 71,
COMP = 72,
USB_FS = 73,
CRS = 74,
FMC = 75,
OCTOSPI1 = 76,
SDMMC1 = 78,
DMA2_CH1 = 80,
DMA2_CH2 = 81,
DMA2_CH3 = 82,
DMA2_CH4 = 83,
DMA2_CH5 = 84,
DMA2_CH6 = 85,
DMA2_CH7 = 86,
DMA2_CH8 = 87,
I2C3_EV = 88,
I2C3_ER = 89,
SAI1 = 90,
SAI2 = 91,
TSC = 92,
RNG = 94,
HASH = 96,
LPTIM3 = 98,
SPI3 = 99,
I2C4_ER = 100,
I2C4_EV = 101,
DFSDM1_FLT0 = 102,
DFSDM1_FLT1 = 103,
DFSDM1_FLT2 = 104,
DFSDM1_FLT3 = 105,
UCPD1 = 106,
ICACHE = 107,
}
unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
#[inline(always)]
fn number(self) -> u16 {
self as u16
}
}
pub type ADC1 = crate::Periph<adc1::RegisterBlock, 0x4202_8000>;
impl core::fmt::Debug for ADC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ADC1").finish()
}
}
pub mod adc1;
pub type SEC_ADC1 = crate::Periph<adc1::RegisterBlock, 0x5202_8000>;
impl core::fmt::Debug for SEC_ADC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_ADC1").finish()
}
}
pub use self::adc1 as sec_adc1;
pub type ADC2 = crate::Periph<adc1::RegisterBlock, 0x4202_8100>;
impl core::fmt::Debug for ADC2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ADC2").finish()
}
}
pub use self::adc1 as adc2;
pub type SEC_ADC2 = crate::Periph<adc1::RegisterBlock, 0x5202_8100>;
impl core::fmt::Debug for SEC_ADC2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_ADC2").finish()
}
}
pub use self::adc1 as sec_adc2;
pub type ADC_COMMON = crate::Periph<adc_common::RegisterBlock, 0x4202_8300>;
impl core::fmt::Debug for ADC_COMMON {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ADC_COMMON").finish()
}
}
pub mod adc_common;
pub type SEC_ADC_COMMON = crate::Periph<adc_common::RegisterBlock, 0x5202_8300>;
impl core::fmt::Debug for SEC_ADC_COMMON {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_ADC_COMMON").finish()
}
}
pub use self::adc_common as sec_adc_common;
pub type COMP = crate::Periph<comp::RegisterBlock, 0x4001_0200>;
impl core::fmt::Debug for COMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("COMP").finish()
}
}
pub mod comp;
pub type SEC_COMP = crate::Periph<comp::RegisterBlock, 0x5001_0200>;
impl core::fmt::Debug for SEC_COMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_COMP").finish()
}
}
pub use self::comp as sec_comp;
pub type CRC = crate::Periph<crc::RegisterBlock, 0x4002_3000>;
impl core::fmt::Debug for CRC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CRC").finish()
}
}
pub mod crc;
pub type SEC_CRC = crate::Periph<crc::RegisterBlock, 0x5002_3000>;
impl core::fmt::Debug for SEC_CRC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_CRC").finish()
}
}
pub use self::crc as sec_crc;
pub type CRS = crate::Periph<crs::RegisterBlock, 0x4000_6000>;
impl core::fmt::Debug for CRS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CRS").finish()
}
}
pub mod crs;
pub type SEC_CRS = crate::Periph<crs::RegisterBlock, 0x5000_6000>;
impl core::fmt::Debug for SEC_CRS {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_CRS").finish()
}
}
pub use self::crs as sec_crs;
pub type DAC = crate::Periph<dac::RegisterBlock, 0x4000_7400>;
impl core::fmt::Debug for DAC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DAC").finish()
}
}
pub mod dac;
pub type SEC_DAC = crate::Periph<dac::RegisterBlock, 0x5000_7400>;
impl core::fmt::Debug for SEC_DAC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_DAC").finish()
}
}
pub use self::dac as sec_dac;
pub type DBGMCU = crate::Periph<dbgmcu::RegisterBlock, 0xe004_4000>;
impl core::fmt::Debug for DBGMCU {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DBGMCU").finish()
}
}
pub mod dbgmcu;
pub type DFSDM1 = crate::Periph<dfsdm1::RegisterBlock, 0x4001_6000>;
impl core::fmt::Debug for DFSDM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DFSDM1").finish()
}
}
pub mod dfsdm1;
pub type SEC_DFSDM1 = crate::Periph<dfsdm1::RegisterBlock, 0x5001_6000>;
impl core::fmt::Debug for SEC_DFSDM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_DFSDM1").finish()
}
}
pub use self::dfsdm1 as sec_dfsdm1;
pub type DMA1 = crate::Periph<dma1::RegisterBlock, 0x4002_0000>;
impl core::fmt::Debug for DMA1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMA1").finish()
}
}
pub mod dma1;
pub type SEC_DMA1 = crate::Periph<dma1::RegisterBlock, 0x5002_0000>;
impl core::fmt::Debug for SEC_DMA1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_DMA1").finish()
}
}
pub use self::dma1 as sec_dma1;
pub type DMA2 = crate::Periph<dma1::RegisterBlock, 0x4002_0400>;
impl core::fmt::Debug for DMA2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMA2").finish()
}
}
pub use self::dma1 as dma2;
pub type SEC_DMA2 = crate::Periph<dma1::RegisterBlock, 0x5002_0400>;
impl core::fmt::Debug for SEC_DMA2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_DMA2").finish()
}
}
pub use self::dma1 as sec_dma2;
pub type DMAMUX1 = crate::Periph<dmamux1::RegisterBlock, 0x4002_0800>;
impl core::fmt::Debug for DMAMUX1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("DMAMUX1").finish()
}
}
pub mod dmamux1;
pub type SEC_DMAMUX1 = crate::Periph<dmamux1::RegisterBlock, 0x5002_0800>;
impl core::fmt::Debug for SEC_DMAMUX1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_DMAMUX1").finish()
}
}
pub use self::dmamux1 as sec_dmamux1;
pub type EXTI = crate::Periph<exti::RegisterBlock, 0x4002_f400>;
impl core::fmt::Debug for EXTI {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("EXTI").finish()
}
}
pub mod exti;
pub type SEC_EXTI = crate::Periph<exti::RegisterBlock, 0x5002_f400>;
impl core::fmt::Debug for SEC_EXTI {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_EXTI").finish()
}
}
pub use self::exti as sec_exti;
pub type FDCAN1 = crate::Periph<fdcan1::RegisterBlock, 0x4000_a400>;
impl core::fmt::Debug for FDCAN1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("FDCAN1").finish()
}
}
pub mod fdcan1;
pub type SEC_FDCAN1 = crate::Periph<fdcan1::RegisterBlock, 0x5000_a400>;
impl core::fmt::Debug for SEC_FDCAN1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_FDCAN1").finish()
}
}
pub use self::fdcan1 as sec_fdcan1;
pub type FLASH = crate::Periph<flash::RegisterBlock, 0x4002_2000>;
impl core::fmt::Debug for FLASH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("FLASH").finish()
}
}
pub mod flash;
pub type SEC_FLASH = crate::Periph<flash::RegisterBlock, 0x5002_2000>;
impl core::fmt::Debug for SEC_FLASH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_FLASH").finish()
}
}
pub use self::flash as sec_flash;
pub type FMC = crate::Periph<fmc::RegisterBlock, 0x4402_0000>;
impl core::fmt::Debug for FMC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("FMC").finish()
}
}
pub mod fmc;
pub type SEC_FMC = crate::Periph<fmc::RegisterBlock, 0x5402_0000>;
impl core::fmt::Debug for SEC_FMC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_FMC").finish()
}
}
pub use self::fmc as sec_fmc;
pub type GPIOA = crate::Periph<gpioa::RegisterBlock, 0x4202_0000>;
impl core::fmt::Debug for GPIOA {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOA").finish()
}
}
pub mod gpioa;
pub type SEC_GPIOA = crate::Periph<gpioa::RegisterBlock, 0x5202_0000>;
impl core::fmt::Debug for SEC_GPIOA {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOA").finish()
}
}
pub use self::gpioa as sec_gpioa;
pub type GPIOB = crate::Periph<gpiob::RegisterBlock, 0x4202_0400>;
impl core::fmt::Debug for GPIOB {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOB").finish()
}
}
pub mod gpiob;
pub type SEC_GPIOB = crate::Periph<gpiob::RegisterBlock, 0x5202_0400>;
impl core::fmt::Debug for SEC_GPIOB {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOB").finish()
}
}
pub use self::gpiob as sec_gpiob;
pub type GPIOC = crate::Periph<gpioc::RegisterBlock, 0x4202_0800>;
impl core::fmt::Debug for GPIOC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOC").finish()
}
}
pub mod gpioc;
pub type GPIOD = crate::Periph<gpioc::RegisterBlock, 0x4202_0c00>;
impl core::fmt::Debug for GPIOD {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOD").finish()
}
}
pub use self::gpioc as gpiod;
pub type GPIOE = crate::Periph<gpioc::RegisterBlock, 0x4202_1000>;
impl core::fmt::Debug for GPIOE {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOE").finish()
}
}
pub use self::gpioc as gpioe;
pub type GPIOF = crate::Periph<gpioc::RegisterBlock, 0x4202_1400>;
impl core::fmt::Debug for GPIOF {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOF").finish()
}
}
pub use self::gpioc as gpiof;
pub type GPIOG = crate::Periph<gpioc::RegisterBlock, 0x4202_1800>;
impl core::fmt::Debug for GPIOG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOG").finish()
}
}
pub use self::gpioc as gpiog;
pub type SEC_GPIOC = crate::Periph<gpioc::RegisterBlock, 0x5202_0800>;
impl core::fmt::Debug for SEC_GPIOC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOC").finish()
}
}
pub use self::gpioc as sec_gpioc;
pub type SEC_GPIOD = crate::Periph<gpioc::RegisterBlock, 0x5202_0c00>;
impl core::fmt::Debug for SEC_GPIOD {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOD").finish()
}
}
pub use self::gpioc as sec_gpiod;
pub type SEC_GPIOE = crate::Periph<gpioc::RegisterBlock, 0x5202_1000>;
impl core::fmt::Debug for SEC_GPIOE {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOE").finish()
}
}
pub use self::gpioc as sec_gpioe;
pub type SEC_GPIOF = crate::Periph<gpioc::RegisterBlock, 0x5202_1400>;
impl core::fmt::Debug for SEC_GPIOF {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOF").finish()
}
}
pub use self::gpioc as sec_gpiof;
pub type SEC_GPIOG = crate::Periph<gpioc::RegisterBlock, 0x5202_1800>;
impl core::fmt::Debug for SEC_GPIOG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOG").finish()
}
}
pub use self::gpioc as sec_gpiog;
pub type GPIOH = crate::Periph<gpioh::RegisterBlock, 0x4202_1c00>;
impl core::fmt::Debug for GPIOH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GPIOH").finish()
}
}
pub mod gpioh;
pub type SEC_GPIOH = crate::Periph<gpioh::RegisterBlock, 0x5202_1c00>;
impl core::fmt::Debug for SEC_GPIOH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GPIOH").finish()
}
}
pub use self::gpioh as sec_gpioh;
pub type GTZC_MPCBB1 = crate::Periph<gtzc_mpcbb1::RegisterBlock, 0x4003_2c00>;
impl core::fmt::Debug for GTZC_MPCBB1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GTZC_MPCBB1").finish()
}
}
pub mod gtzc_mpcbb1;
pub type SEC_GTZC_MPCBB1 = crate::Periph<gtzc_mpcbb1::RegisterBlock, 0x5003_2c00>;
impl core::fmt::Debug for SEC_GTZC_MPCBB1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GTZC_MPCBB1").finish()
}
}
pub use self::gtzc_mpcbb1 as sec_gtzc_mpcbb1;
pub type GTZC_MPCBB2 = crate::Periph<gtzc_mpcbb2::RegisterBlock, 0x4003_3000>;
impl core::fmt::Debug for GTZC_MPCBB2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GTZC_MPCBB2").finish()
}
}
pub mod gtzc_mpcbb2;
pub type SEC_GTZC_MPCBB2 = crate::Periph<gtzc_mpcbb2::RegisterBlock, 0x5003_3000>;
impl core::fmt::Debug for SEC_GTZC_MPCBB2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GTZC_MPCBB2").finish()
}
}
pub use self::gtzc_mpcbb2 as sec_gtzc_mpcbb2;
pub type GTZC_TZIC = crate::Periph<gtzc_tzic::RegisterBlock, 0x4003_2800>;
impl core::fmt::Debug for GTZC_TZIC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GTZC_TZIC").finish()
}
}
pub mod gtzc_tzic;
pub type SEC_GTZC_TZIC = crate::Periph<gtzc_tzic::RegisterBlock, 0x5003_2800>;
impl core::fmt::Debug for SEC_GTZC_TZIC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GTZC_TZIC").finish()
}
}
pub use self::gtzc_tzic as sec_gtzc_tzic;
pub type GTZC_TZSC = crate::Periph<gtzc_tzsc::RegisterBlock, 0x4003_2400>;
impl core::fmt::Debug for GTZC_TZSC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("GTZC_TZSC").finish()
}
}
pub mod gtzc_tzsc;
pub type SEC_GTZC_TZSC = crate::Periph<gtzc_tzsc::RegisterBlock, 0x5003_2400>;
impl core::fmt::Debug for SEC_GTZC_TZSC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_GTZC_TZSC").finish()
}
}
pub use self::gtzc_tzsc as sec_gtzc_tzsc;
pub type HASH = crate::Periph<hash::RegisterBlock, 0x420c_0400>;
impl core::fmt::Debug for HASH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("HASH").finish()
}
}
pub mod hash;
pub type SEC_HASH = crate::Periph<hash::RegisterBlock, 0x520c_0400>;
impl core::fmt::Debug for SEC_HASH {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_HASH").finish()
}
}
pub use self::hash as sec_hash;
pub type I2C1 = crate::Periph<i2c1::RegisterBlock, 0x4000_5400>;
impl core::fmt::Debug for I2C1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("I2C1").finish()
}
}
pub mod i2c1;
pub type I2C2 = crate::Periph<i2c1::RegisterBlock, 0x4000_5800>;
impl core::fmt::Debug for I2C2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("I2C2").finish()
}
}
pub use self::i2c1 as i2c2;
pub type I2C3 = crate::Periph<i2c1::RegisterBlock, 0x4000_5c00>;
impl core::fmt::Debug for I2C3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("I2C3").finish()
}
}
pub use self::i2c1 as i2c3;
pub type I2C4 = crate::Periph<i2c1::RegisterBlock, 0x4000_8400>;
impl core::fmt::Debug for I2C4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("I2C4").finish()
}
}
pub use self::i2c1 as i2c4;
pub type SEC_I2C1 = crate::Periph<i2c1::RegisterBlock, 0x5000_5400>;
impl core::fmt::Debug for SEC_I2C1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_I2C1").finish()
}
}
pub use self::i2c1 as sec_i2c1;
pub type SEC_I2C2 = crate::Periph<i2c1::RegisterBlock, 0x5000_5800>;
impl core::fmt::Debug for SEC_I2C2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_I2C2").finish()
}
}
pub use self::i2c1 as sec_i2c2;
pub type SEC_I2C3 = crate::Periph<i2c1::RegisterBlock, 0x5000_5c00>;
impl core::fmt::Debug for SEC_I2C3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_I2C3").finish()
}
}
pub use self::i2c1 as sec_i2c3;
pub type SEC_I2C4 = crate::Periph<i2c1::RegisterBlock, 0x5000_8400>;
impl core::fmt::Debug for SEC_I2C4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_I2C4").finish()
}
}
pub use self::i2c1 as sec_i2c4;
pub type ICACHE = crate::Periph<icache::RegisterBlock, 0x4003_0400>;
impl core::fmt::Debug for ICACHE {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("ICACHE").finish()
}
}
pub mod icache;
pub type SEC_ICACHE = crate::Periph<icache::RegisterBlock, 0x5003_0400>;
impl core::fmt::Debug for SEC_ICACHE {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_ICACHE").finish()
}
}
pub use self::icache as sec_icache;
pub type IWDG = crate::Periph<iwdg::RegisterBlock, 0x4000_3000>;
impl core::fmt::Debug for IWDG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("IWDG").finish()
}
}
pub mod iwdg;
pub type SEC_IWDG = crate::Periph<iwdg::RegisterBlock, 0x5000_3000>;
impl core::fmt::Debug for SEC_IWDG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_IWDG").finish()
}
}
pub use self::iwdg as sec_iwdg;
pub type LPTIM1 = crate::Periph<lptim1::RegisterBlock, 0x4000_7c00>;
impl core::fmt::Debug for LPTIM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("LPTIM1").finish()
}
}
pub mod lptim1;
pub type LPTIM2 = crate::Periph<lptim1::RegisterBlock, 0x4000_9400>;
impl core::fmt::Debug for LPTIM2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("LPTIM2").finish()
}
}
pub use self::lptim1 as lptim2;
pub type LPTIM3 = crate::Periph<lptim1::RegisterBlock, 0x4000_9800>;
impl core::fmt::Debug for LPTIM3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("LPTIM3").finish()
}
}
pub use self::lptim1 as lptim3;
pub type SEC_LPTIM1 = crate::Periph<lptim1::RegisterBlock, 0x5000_7c00>;
impl core::fmt::Debug for SEC_LPTIM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_LPTIM1").finish()
}
}
pub use self::lptim1 as sec_lptim1;
pub type SEC_LPTIM2 = crate::Periph<lptim1::RegisterBlock, 0x5000_9400>;
impl core::fmt::Debug for SEC_LPTIM2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_LPTIM2").finish()
}
}
pub use self::lptim1 as sec_lptim2;
pub type SEC_LPTIM3 = crate::Periph<lptim1::RegisterBlock, 0x5000_9800>;
impl core::fmt::Debug for SEC_LPTIM3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_LPTIM3").finish()
}
}
pub use self::lptim1 as sec_lptim3;
pub type LPUART1 = crate::Periph<lpuart1::RegisterBlock, 0x4000_8000>;
impl core::fmt::Debug for LPUART1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("LPUART1").finish()
}
}
pub mod lpuart1;
pub type SEC_LPUART1 = crate::Periph<lpuart1::RegisterBlock, 0x5000_8000>;
impl core::fmt::Debug for SEC_LPUART1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_LPUART1").finish()
}
}
pub use self::lpuart1 as sec_lpuart1;
pub type OCTOSPI1 = crate::Periph<octospi1::RegisterBlock, 0x4402_1000>;
impl core::fmt::Debug for OCTOSPI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("OCTOSPI1").finish()
}
}
pub mod octospi1;
pub type SEC_OCTOSPI1 = crate::Periph<octospi1::RegisterBlock, 0x5402_1000>;
impl core::fmt::Debug for SEC_OCTOSPI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_OCTOSPI1").finish()
}
}
pub use self::octospi1 as sec_octospi1;
pub type OPAMP = crate::Periph<opamp::RegisterBlock, 0x4000_7800>;
impl core::fmt::Debug for OPAMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("OPAMP").finish()
}
}
pub mod opamp;
pub type SEC_OPAMP = crate::Periph<opamp::RegisterBlock, 0x5000_7800>;
impl core::fmt::Debug for SEC_OPAMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_OPAMP").finish()
}
}
pub use self::opamp as sec_opamp;
pub type PWR = crate::Periph<pwr::RegisterBlock, 0x4000_7000>;
impl core::fmt::Debug for PWR {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("PWR").finish()
}
}
pub mod pwr;
pub type SEC_PWR = crate::Periph<pwr::RegisterBlock, 0x5000_7000>;
impl core::fmt::Debug for SEC_PWR {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_PWR").finish()
}
}
pub use self::pwr as sec_pwr;
pub type RCC = crate::Periph<rcc::RegisterBlock, 0x4002_1000>;
impl core::fmt::Debug for RCC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("RCC").finish()
}
}
pub mod rcc;
pub type SEC_RCC = crate::Periph<rcc::RegisterBlock, 0x5002_1000>;
impl core::fmt::Debug for SEC_RCC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_RCC").finish()
}
}
pub use self::rcc as sec_rcc;
pub type RNG = crate::Periph<rng::RegisterBlock, 0x420c_0800>;
impl core::fmt::Debug for RNG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("RNG").finish()
}
}
pub mod rng;
pub type SEC_RNG = crate::Periph<rng::RegisterBlock, 0x520c_0800>;
impl core::fmt::Debug for SEC_RNG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_RNG").finish()
}
}
pub use self::rng as sec_rng;
pub type RTC = crate::Periph<rtc::RegisterBlock, 0x4000_2800>;
impl core::fmt::Debug for RTC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("RTC").finish()
}
}
pub mod rtc;
pub type SEC_RTC = crate::Periph<rtc::RegisterBlock, 0x5000_2800>;
impl core::fmt::Debug for SEC_RTC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_RTC").finish()
}
}
pub use self::rtc as sec_rtc;
pub type SAI1 = crate::Periph<sai1::RegisterBlock, 0x4001_5400>;
impl core::fmt::Debug for SAI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SAI1").finish()
}
}
pub mod sai1;
pub type SAI2 = crate::Periph<sai1::RegisterBlock, 0x4001_5800>;
impl core::fmt::Debug for SAI2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SAI2").finish()
}
}
pub use self::sai1 as sai2;
pub type SEC_SAI1 = crate::Periph<sai1::RegisterBlock, 0x5001_5400>;
impl core::fmt::Debug for SEC_SAI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SAI1").finish()
}
}
pub use self::sai1 as sec_sai1;
pub type SEC_SAI2 = crate::Periph<sai1::RegisterBlock, 0x5001_5800>;
impl core::fmt::Debug for SEC_SAI2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SAI2").finish()
}
}
pub use self::sai1 as sec_sai2;
pub type SDMMC1 = crate::Periph<sdmmc1::RegisterBlock, 0x420c_8000>;
impl core::fmt::Debug for SDMMC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SDMMC1").finish()
}
}
pub mod sdmmc1;
pub type SEC_SDMMC1 = crate::Periph<sdmmc1::RegisterBlock, 0x520c_8000>;
impl core::fmt::Debug for SEC_SDMMC1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SDMMC1").finish()
}
}
pub use self::sdmmc1 as sec_sdmmc1;
pub type SPI1 = crate::Periph<spi1::RegisterBlock, 0x4001_3000>;
impl core::fmt::Debug for SPI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPI1").finish()
}
}
pub mod spi1;
pub type SPI2 = crate::Periph<spi1::RegisterBlock, 0x4000_3800>;
impl core::fmt::Debug for SPI2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPI2").finish()
}
}
pub use self::spi1 as spi2;
pub type SPI3 = crate::Periph<spi1::RegisterBlock, 0x4000_3c00>;
impl core::fmt::Debug for SPI3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SPI3").finish()
}
}
pub use self::spi1 as spi3;
pub type SEC_SPI1 = crate::Periph<spi1::RegisterBlock, 0x5001_3000>;
impl core::fmt::Debug for SEC_SPI1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SPI1").finish()
}
}
pub use self::spi1 as sec_spi1;
pub type SEC_SPI2 = crate::Periph<spi1::RegisterBlock, 0x5000_3800>;
impl core::fmt::Debug for SEC_SPI2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SPI2").finish()
}
}
pub use self::spi1 as sec_spi2;
pub type SEC_SPI3 = crate::Periph<spi1::RegisterBlock, 0x5000_3c00>;
impl core::fmt::Debug for SEC_SPI3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SPI3").finish()
}
}
pub use self::spi1 as sec_spi3;
pub type SYSCFG = crate::Periph<syscfg::RegisterBlock, 0x4001_0000>;
impl core::fmt::Debug for SYSCFG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SYSCFG").finish()
}
}
pub mod syscfg;
pub type SEC_SYSCFG = crate::Periph<syscfg::RegisterBlock, 0x5001_0000>;
impl core::fmt::Debug for SEC_SYSCFG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_SYSCFG").finish()
}
}
pub use self::syscfg as sec_syscfg;
pub type TAMP = crate::Periph<tamp::RegisterBlock, 0x4000_3400>;
impl core::fmt::Debug for TAMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TAMP").finish()
}
}
pub mod tamp;
pub type SEC_TAMP = crate::Periph<tamp::RegisterBlock, 0x5000_3400>;
impl core::fmt::Debug for SEC_TAMP {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TAMP").finish()
}
}
pub use self::tamp as sec_tamp;
pub type TIM1 = crate::Periph<tim1::RegisterBlock, 0x4001_2c00>;
impl core::fmt::Debug for TIM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM1").finish()
}
}
pub mod tim1;
pub type SEC_TIM1 = crate::Periph<tim1::RegisterBlock, 0x5001_2c00>;
impl core::fmt::Debug for SEC_TIM1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM1").finish()
}
}
pub use self::tim1 as sec_tim1;
pub type TIM2 = crate::Periph<tim2::RegisterBlock, 0x4000_0000>;
impl core::fmt::Debug for TIM2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM2").finish()
}
}
pub mod tim2;
pub type SEC_TIM2 = crate::Periph<tim2::RegisterBlock, 0x5000_0000>;
impl core::fmt::Debug for SEC_TIM2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM2").finish()
}
}
pub use self::tim2 as sec_tim2;
pub type TIM3 = crate::Periph<tim3::RegisterBlock, 0x4000_0400>;
impl core::fmt::Debug for TIM3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM3").finish()
}
}
pub mod tim3;
pub type SEC_TIM3 = crate::Periph<tim3::RegisterBlock, 0x5000_0400>;
impl core::fmt::Debug for SEC_TIM3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM3").finish()
}
}
pub use self::tim3 as sec_tim3;
pub type TIM4 = crate::Periph<tim3::RegisterBlock, 0x4000_0800>;
impl core::fmt::Debug for TIM4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM4").finish()
}
}
pub use self::tim3 as tim4;
pub type SEC_TIM4 = crate::Periph<tim3::RegisterBlock, 0x5000_0800>;
impl core::fmt::Debug for SEC_TIM4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM4").finish()
}
}
pub use self::tim3 as sec_tim4;
pub type TIM5 = crate::Periph<tim2::RegisterBlock, 0x4000_0c00>;
impl core::fmt::Debug for TIM5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM5").finish()
}
}
pub use self::tim2 as tim5;
pub type SEC_TIM5 = crate::Periph<tim2::RegisterBlock, 0x5000_0c00>;
impl core::fmt::Debug for SEC_TIM5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM5").finish()
}
}
pub use self::tim2 as sec_tim5;
pub type TIM6 = crate::Periph<tim6::RegisterBlock, 0x4000_1000>;
impl core::fmt::Debug for TIM6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM6").finish()
}
}
pub mod tim6;
pub type SEC_TIM6 = crate::Periph<tim6::RegisterBlock, 0x5000_1000>;
impl core::fmt::Debug for SEC_TIM6 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM6").finish()
}
}
pub use self::tim6 as sec_tim6;
pub type TIM7 = crate::Periph<tim6::RegisterBlock, 0x4000_1400>;
impl core::fmt::Debug for TIM7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM7").finish()
}
}
pub use self::tim6 as tim7;
pub type SEC_TIM7 = crate::Periph<tim6::RegisterBlock, 0x5000_1400>;
impl core::fmt::Debug for SEC_TIM7 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM7").finish()
}
}
pub use self::tim6 as sec_tim7;
pub type TIM8 = crate::Periph<tim8::RegisterBlock, 0x4001_3400>;
impl core::fmt::Debug for TIM8 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM8").finish()
}
}
pub mod tim8;
pub type SEC_TIM8 = crate::Periph<tim8::RegisterBlock, 0x5001_3400>;
impl core::fmt::Debug for SEC_TIM8 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM8").finish()
}
}
pub use self::tim8 as sec_tim8;
pub type TIM15 = crate::Periph<tim15::RegisterBlock, 0x4001_4000>;
impl core::fmt::Debug for TIM15 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM15").finish()
}
}
pub mod tim15;
pub type SEC_TIM15 = crate::Periph<tim15::RegisterBlock, 0x5001_4000>;
impl core::fmt::Debug for SEC_TIM15 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM15").finish()
}
}
pub use self::tim15 as sec_tim15;
pub type TIM16 = crate::Periph<tim16::RegisterBlock, 0x4001_4400>;
impl core::fmt::Debug for TIM16 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM16").finish()
}
}
pub mod tim16;
pub type SEC_TIM16 = crate::Periph<tim16::RegisterBlock, 0x5001_4400>;
impl core::fmt::Debug for SEC_TIM16 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM16").finish()
}
}
pub use self::tim16 as sec_tim16;
pub type TIM17 = crate::Periph<tim17::RegisterBlock, 0x4001_4800>;
impl core::fmt::Debug for TIM17 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TIM17").finish()
}
}
pub mod tim17;
pub type SEC_TIM17 = crate::Periph<tim17::RegisterBlock, 0x5001_4800>;
impl core::fmt::Debug for SEC_TIM17 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TIM17").finish()
}
}
pub use self::tim17 as sec_tim17;
pub type TSC = crate::Periph<tsc::RegisterBlock, 0x4002_4000>;
impl core::fmt::Debug for TSC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("TSC").finish()
}
}
pub mod tsc;
pub type SEC_TSC = crate::Periph<tsc::RegisterBlock, 0x5002_4000>;
impl core::fmt::Debug for SEC_TSC {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_TSC").finish()
}
}
pub use self::tsc as sec_tsc;
pub type USB = crate::Periph<usb::RegisterBlock, 0x4000_d400>;
impl core::fmt::Debug for USB {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("USB").finish()
}
}
pub mod usb;
pub type SEC_USB = crate::Periph<usb::RegisterBlock, 0x5000_d400>;
impl core::fmt::Debug for SEC_USB {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_USB").finish()
}
}
pub use self::usb as sec_usb;
pub type UCPD1 = crate::Periph<ucpd1::RegisterBlock, 0x4000_dc00>;
impl core::fmt::Debug for UCPD1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("UCPD1").finish()
}
}
pub mod ucpd1;
pub type SEC_UCPD1 = crate::Periph<ucpd1::RegisterBlock, 0x5000_dc00>;
impl core::fmt::Debug for SEC_UCPD1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_UCPD1").finish()
}
}
pub use self::ucpd1 as sec_ucpd1;
pub type USART1 = crate::Periph<usart1::RegisterBlock, 0x4001_3800>;
impl core::fmt::Debug for USART1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("USART1").finish()
}
}
pub mod usart1;
pub type SEC_USART1 = crate::Periph<usart1::RegisterBlock, 0x5001_3800>;
impl core::fmt::Debug for SEC_USART1 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_USART1").finish()
}
}
pub use self::usart1 as sec_usart1;
pub type USART2 = crate::Periph<usart1::RegisterBlock, 0x4000_4400>;
impl core::fmt::Debug for USART2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("USART2").finish()
}
}
pub use self::usart1 as usart2;
pub type SEC_USART2 = crate::Periph<usart1::RegisterBlock, 0x5000_4400>;
impl core::fmt::Debug for SEC_USART2 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_USART2").finish()
}
}
pub use self::usart1 as sec_usart2;
pub type USART3 = crate::Periph<usart1::RegisterBlock, 0x4000_4800>;
impl core::fmt::Debug for USART3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("USART3").finish()
}
}
pub use self::usart1 as usart3;
pub type SEC_USART3 = crate::Periph<usart1::RegisterBlock, 0x5000_4800>;
impl core::fmt::Debug for SEC_USART3 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_USART3").finish()
}
}
pub use self::usart1 as sec_usart3;
pub type UART4 = crate::Periph<usart1::RegisterBlock, 0x4000_4c00>;
impl core::fmt::Debug for UART4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("UART4").finish()
}
}
pub use self::usart1 as uart4;
pub type UART5 = crate::Periph<usart1::RegisterBlock, 0x4000_5000>;
impl core::fmt::Debug for UART5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("UART5").finish()
}
}
pub use self::usart1 as uart5;
pub type SEC_UART4 = crate::Periph<usart1::RegisterBlock, 0x5000_4c00>;
impl core::fmt::Debug for SEC_UART4 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_UART4").finish()
}
}
pub use self::usart1 as sec_uart4;
pub type SEC_UART5 = crate::Periph<usart1::RegisterBlock, 0x5000_5000>;
impl core::fmt::Debug for SEC_UART5 {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_UART5").finish()
}
}
pub use self::usart1 as sec_uart5;
pub type VREFBUF = crate::Periph<vrefbuf::RegisterBlock, 0x4001_0030>;
impl core::fmt::Debug for VREFBUF {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("VREFBUF").finish()
}
}
pub mod vrefbuf;
pub type SEC_VREFBUF = crate::Periph<vrefbuf::RegisterBlock, 0x5001_0030>;
impl core::fmt::Debug for SEC_VREFBUF {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_VREFBUF").finish()
}
}
pub use self::vrefbuf as sec_vrefbuf;
pub type WWDG = crate::Periph<wwdg::RegisterBlock, 0x4000_2c00>;
impl core::fmt::Debug for WWDG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("WWDG").finish()
}
}
pub mod wwdg;
pub type SEC_WWDG = crate::Periph<wwdg::RegisterBlock, 0x5000_2c00>;
impl core::fmt::Debug for SEC_WWDG {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("SEC_WWDG").finish()
}
}
pub use self::wwdg as sec_wwdg;
#[no_mangle]
static mut DEVICE_PERIPHERALS: bool = false;
#[allow(non_snake_case)]
pub struct Peripherals {
pub ADC1: ADC1,
pub SEC_ADC1: SEC_ADC1,
pub ADC2: ADC2,
pub SEC_ADC2: SEC_ADC2,
pub ADC_COMMON: ADC_COMMON,
pub SEC_ADC_COMMON: SEC_ADC_COMMON,
pub COMP: COMP,
pub SEC_COMP: SEC_COMP,
pub CRC: CRC,
pub SEC_CRC: SEC_CRC,
pub CRS: CRS,
pub SEC_CRS: SEC_CRS,
pub DAC: DAC,
pub SEC_DAC: SEC_DAC,
pub DBGMCU: DBGMCU,
pub DFSDM1: DFSDM1,
pub SEC_DFSDM1: SEC_DFSDM1,
pub DMA1: DMA1,
pub SEC_DMA1: SEC_DMA1,
pub DMA2: DMA2,
pub SEC_DMA2: SEC_DMA2,
pub DMAMUX1: DMAMUX1,
pub SEC_DMAMUX1: SEC_DMAMUX1,
pub EXTI: EXTI,
pub SEC_EXTI: SEC_EXTI,
pub FDCAN1: FDCAN1,
pub SEC_FDCAN1: SEC_FDCAN1,
pub FLASH: FLASH,
pub SEC_FLASH: SEC_FLASH,
pub FMC: FMC,
pub SEC_FMC: SEC_FMC,
pub GPIOA: GPIOA,
pub SEC_GPIOA: SEC_GPIOA,
pub GPIOB: GPIOB,
pub SEC_GPIOB: SEC_GPIOB,
pub GPIOC: GPIOC,
pub GPIOD: GPIOD,
pub GPIOE: GPIOE,
pub GPIOF: GPIOF,
pub GPIOG: GPIOG,
pub SEC_GPIOC: SEC_GPIOC,
pub SEC_GPIOD: SEC_GPIOD,
pub SEC_GPIOE: SEC_GPIOE,
pub SEC_GPIOF: SEC_GPIOF,
pub SEC_GPIOG: SEC_GPIOG,
pub GPIOH: GPIOH,
pub SEC_GPIOH: SEC_GPIOH,
pub GTZC_MPCBB1: GTZC_MPCBB1,
pub SEC_GTZC_MPCBB1: SEC_GTZC_MPCBB1,
pub GTZC_MPCBB2: GTZC_MPCBB2,
pub SEC_GTZC_MPCBB2: SEC_GTZC_MPCBB2,
pub GTZC_TZIC: GTZC_TZIC,
pub SEC_GTZC_TZIC: SEC_GTZC_TZIC,
pub GTZC_TZSC: GTZC_TZSC,
pub SEC_GTZC_TZSC: SEC_GTZC_TZSC,
pub HASH: HASH,
pub SEC_HASH: SEC_HASH,
pub I2C1: I2C1,
pub I2C2: I2C2,
pub I2C3: I2C3,
pub I2C4: I2C4,
pub SEC_I2C1: SEC_I2C1,
pub SEC_I2C2: SEC_I2C2,
pub SEC_I2C3: SEC_I2C3,
pub SEC_I2C4: SEC_I2C4,
pub ICACHE: ICACHE,
pub SEC_ICACHE: SEC_ICACHE,
pub IWDG: IWDG,
pub SEC_IWDG: SEC_IWDG,
pub LPTIM1: LPTIM1,
pub LPTIM2: LPTIM2,
pub LPTIM3: LPTIM3,
pub SEC_LPTIM1: SEC_LPTIM1,
pub SEC_LPTIM2: SEC_LPTIM2,
pub SEC_LPTIM3: SEC_LPTIM3,
pub LPUART1: LPUART1,
pub SEC_LPUART1: SEC_LPUART1,
pub OCTOSPI1: OCTOSPI1,
pub SEC_OCTOSPI1: SEC_OCTOSPI1,
pub OPAMP: OPAMP,
pub SEC_OPAMP: SEC_OPAMP,
pub PWR: PWR,
pub SEC_PWR: SEC_PWR,
pub RCC: RCC,
pub SEC_RCC: SEC_RCC,
pub RNG: RNG,
pub SEC_RNG: SEC_RNG,
pub RTC: RTC,
pub SEC_RTC: SEC_RTC,
pub SAI1: SAI1,
pub SAI2: SAI2,
pub SEC_SAI1: SEC_SAI1,
pub SEC_SAI2: SEC_SAI2,
pub SDMMC1: SDMMC1,
pub SEC_SDMMC1: SEC_SDMMC1,
pub SPI1: SPI1,
pub SPI2: SPI2,
pub SPI3: SPI3,
pub SEC_SPI1: SEC_SPI1,
pub SEC_SPI2: SEC_SPI2,
pub SEC_SPI3: SEC_SPI3,
pub SYSCFG: SYSCFG,
pub SEC_SYSCFG: SEC_SYSCFG,
pub TAMP: TAMP,
pub SEC_TAMP: SEC_TAMP,
pub TIM1: TIM1,
pub SEC_TIM1: SEC_TIM1,
pub TIM2: TIM2,
pub SEC_TIM2: SEC_TIM2,
pub TIM3: TIM3,
pub SEC_TIM3: SEC_TIM3,
pub TIM4: TIM4,
pub SEC_TIM4: SEC_TIM4,
pub TIM5: TIM5,
pub SEC_TIM5: SEC_TIM5,
pub TIM6: TIM6,
pub SEC_TIM6: SEC_TIM6,
pub TIM7: TIM7,
pub SEC_TIM7: SEC_TIM7,
pub TIM8: TIM8,
pub SEC_TIM8: SEC_TIM8,
pub TIM15: TIM15,
pub SEC_TIM15: SEC_TIM15,
pub TIM16: TIM16,
pub SEC_TIM16: SEC_TIM16,
pub TIM17: TIM17,
pub SEC_TIM17: SEC_TIM17,
pub TSC: TSC,
pub SEC_TSC: SEC_TSC,
pub USB: USB,
pub SEC_USB: SEC_USB,
pub UCPD1: UCPD1,
pub SEC_UCPD1: SEC_UCPD1,
pub USART1: USART1,
pub SEC_USART1: SEC_USART1,
pub USART2: USART2,
pub SEC_USART2: SEC_USART2,
pub USART3: USART3,
pub SEC_USART3: SEC_USART3,
pub UART4: UART4,
pub UART5: UART5,
pub SEC_UART4: SEC_UART4,
pub SEC_UART5: SEC_UART5,
pub VREFBUF: VREFBUF,
pub SEC_VREFBUF: SEC_VREFBUF,
pub WWDG: WWDG,
pub SEC_WWDG: SEC_WWDG,
}
impl Peripherals {
#[cfg(feature = "critical-section")]
#[inline]
pub fn take() -> Option<Self> {
critical_section::with(|_| {
if unsafe { DEVICE_PERIPHERALS } {
return None;
}
Some(unsafe { Peripherals::steal() })
})
}
#[inline]
pub unsafe fn steal() -> Self {
DEVICE_PERIPHERALS = true;
Peripherals {
ADC1: ADC1::steal(),
SEC_ADC1: SEC_ADC1::steal(),
ADC2: ADC2::steal(),
SEC_ADC2: SEC_ADC2::steal(),
ADC_COMMON: ADC_COMMON::steal(),
SEC_ADC_COMMON: SEC_ADC_COMMON::steal(),
COMP: COMP::steal(),
SEC_COMP: SEC_COMP::steal(),
CRC: CRC::steal(),
SEC_CRC: SEC_CRC::steal(),
CRS: CRS::steal(),
SEC_CRS: SEC_CRS::steal(),
DAC: DAC::steal(),
SEC_DAC: SEC_DAC::steal(),
DBGMCU: DBGMCU::steal(),
DFSDM1: DFSDM1::steal(),
SEC_DFSDM1: SEC_DFSDM1::steal(),
DMA1: DMA1::steal(),
SEC_DMA1: SEC_DMA1::steal(),
DMA2: DMA2::steal(),
SEC_DMA2: SEC_DMA2::steal(),
DMAMUX1: DMAMUX1::steal(),
SEC_DMAMUX1: SEC_DMAMUX1::steal(),
EXTI: EXTI::steal(),
SEC_EXTI: SEC_EXTI::steal(),
FDCAN1: FDCAN1::steal(),
SEC_FDCAN1: SEC_FDCAN1::steal(),
FLASH: FLASH::steal(),
SEC_FLASH: SEC_FLASH::steal(),
FMC: FMC::steal(),
SEC_FMC: SEC_FMC::steal(),
GPIOA: GPIOA::steal(),
SEC_GPIOA: SEC_GPIOA::steal(),
GPIOB: GPIOB::steal(),
SEC_GPIOB: SEC_GPIOB::steal(),
GPIOC: GPIOC::steal(),
GPIOD: GPIOD::steal(),
GPIOE: GPIOE::steal(),
GPIOF: GPIOF::steal(),
GPIOG: GPIOG::steal(),
SEC_GPIOC: SEC_GPIOC::steal(),
SEC_GPIOD: SEC_GPIOD::steal(),
SEC_GPIOE: SEC_GPIOE::steal(),
SEC_GPIOF: SEC_GPIOF::steal(),
SEC_GPIOG: SEC_GPIOG::steal(),
GPIOH: GPIOH::steal(),
SEC_GPIOH: SEC_GPIOH::steal(),
GTZC_MPCBB1: GTZC_MPCBB1::steal(),
SEC_GTZC_MPCBB1: SEC_GTZC_MPCBB1::steal(),
GTZC_MPCBB2: GTZC_MPCBB2::steal(),
SEC_GTZC_MPCBB2: SEC_GTZC_MPCBB2::steal(),
GTZC_TZIC: GTZC_TZIC::steal(),
SEC_GTZC_TZIC: SEC_GTZC_TZIC::steal(),
GTZC_TZSC: GTZC_TZSC::steal(),
SEC_GTZC_TZSC: SEC_GTZC_TZSC::steal(),
HASH: HASH::steal(),
SEC_HASH: SEC_HASH::steal(),
I2C1: I2C1::steal(),
I2C2: I2C2::steal(),
I2C3: I2C3::steal(),
I2C4: I2C4::steal(),
SEC_I2C1: SEC_I2C1::steal(),
SEC_I2C2: SEC_I2C2::steal(),
SEC_I2C3: SEC_I2C3::steal(),
SEC_I2C4: SEC_I2C4::steal(),
ICACHE: ICACHE::steal(),
SEC_ICACHE: SEC_ICACHE::steal(),
IWDG: IWDG::steal(),
SEC_IWDG: SEC_IWDG::steal(),
LPTIM1: LPTIM1::steal(),
LPTIM2: LPTIM2::steal(),
LPTIM3: LPTIM3::steal(),
SEC_LPTIM1: SEC_LPTIM1::steal(),
SEC_LPTIM2: SEC_LPTIM2::steal(),
SEC_LPTIM3: SEC_LPTIM3::steal(),
LPUART1: LPUART1::steal(),
SEC_LPUART1: SEC_LPUART1::steal(),
OCTOSPI1: OCTOSPI1::steal(),
SEC_OCTOSPI1: SEC_OCTOSPI1::steal(),
OPAMP: OPAMP::steal(),
SEC_OPAMP: SEC_OPAMP::steal(),
PWR: PWR::steal(),
SEC_PWR: SEC_PWR::steal(),
RCC: RCC::steal(),
SEC_RCC: SEC_RCC::steal(),
RNG: RNG::steal(),
SEC_RNG: SEC_RNG::steal(),
RTC: RTC::steal(),
SEC_RTC: SEC_RTC::steal(),
SAI1: SAI1::steal(),
SAI2: SAI2::steal(),
SEC_SAI1: SEC_SAI1::steal(),
SEC_SAI2: SEC_SAI2::steal(),
SDMMC1: SDMMC1::steal(),
SEC_SDMMC1: SEC_SDMMC1::steal(),
SPI1: SPI1::steal(),
SPI2: SPI2::steal(),
SPI3: SPI3::steal(),
SEC_SPI1: SEC_SPI1::steal(),
SEC_SPI2: SEC_SPI2::steal(),
SEC_SPI3: SEC_SPI3::steal(),
SYSCFG: SYSCFG::steal(),
SEC_SYSCFG: SEC_SYSCFG::steal(),
TAMP: TAMP::steal(),
SEC_TAMP: SEC_TAMP::steal(),
TIM1: TIM1::steal(),
SEC_TIM1: SEC_TIM1::steal(),
TIM2: TIM2::steal(),
SEC_TIM2: SEC_TIM2::steal(),
TIM3: TIM3::steal(),
SEC_TIM3: SEC_TIM3::steal(),
TIM4: TIM4::steal(),
SEC_TIM4: SEC_TIM4::steal(),
TIM5: TIM5::steal(),
SEC_TIM5: SEC_TIM5::steal(),
TIM6: TIM6::steal(),
SEC_TIM6: SEC_TIM6::steal(),
TIM7: TIM7::steal(),
SEC_TIM7: SEC_TIM7::steal(),
TIM8: TIM8::steal(),
SEC_TIM8: SEC_TIM8::steal(),
TIM15: TIM15::steal(),
SEC_TIM15: SEC_TIM15::steal(),
TIM16: TIM16::steal(),
SEC_TIM16: SEC_TIM16::steal(),
TIM17: TIM17::steal(),
SEC_TIM17: SEC_TIM17::steal(),
TSC: TSC::steal(),
SEC_TSC: SEC_TSC::steal(),
USB: USB::steal(),
SEC_USB: SEC_USB::steal(),
UCPD1: UCPD1::steal(),
SEC_UCPD1: SEC_UCPD1::steal(),
USART1: USART1::steal(),
SEC_USART1: SEC_USART1::steal(),
USART2: USART2::steal(),
SEC_USART2: SEC_USART2::steal(),
USART3: USART3::steal(),
SEC_USART3: SEC_USART3::steal(),
UART4: UART4::steal(),
UART5: UART5::steal(),
SEC_UART4: SEC_UART4::steal(),
SEC_UART5: SEC_UART5::steal(),
VREFBUF: VREFBUF::steal(),
SEC_VREFBUF: SEC_VREFBUF::steal(),
WWDG: WWDG::steal(),
SEC_WWDG: SEC_WWDG::steal(),
}
}
}