1pub const NVIC_PRIO_BITS: u8 = 3;
12#[cfg(feature = "rt")]
13pub use self::Interrupt as interrupt;
14pub use cortex_m::peripheral::Peripherals as CorePeripherals;
15pub use cortex_m::peripheral::{CBP, CPUID, DCB, DWT, FPB, FPU, ITM, MPU, NVIC, SCB, SYST, TPIU};
16#[cfg(feature = "rt")]
17pub use cortex_m_rt::interrupt;
18#[cfg(feature = "rt")]
19extern "C" {
20 fn WWDG();
21 fn PVD_PVM();
22 fn RTC();
23 fn RTC_S();
24 fn TAMP();
25 fn TAMP_S();
26 fn FLASH();
27 fn FLASH_S();
28 fn GTZC();
29 fn RCC();
30 fn RCC_S();
31 fn EXTI0();
32 fn EXTI1();
33 fn EXTI2();
34 fn EXTI3();
35 fn EXTI4();
36 fn EXTI5();
37 fn EXTI6();
38 fn EXTI7();
39 fn EXTI8();
40 fn EXTI9();
41 fn EXTI10();
42 fn EXTI11();
43 fn EXTI12();
44 fn EXTI13();
45 fn EXTI14();
46 fn EXTI15();
47 fn DMAMUX1_OVR();
48 fn DMAMUX1_OVR_S();
49 fn DMA1_CH1();
50 fn DMA1_CH2();
51 fn DMA1_CH3();
52 fn DMA1_CH4();
53 fn DMA1_CH5();
54 fn DMA1_CH6();
55 fn DMA1_CH7();
56 fn DMA1_CHANNEL8();
57 fn ADC1_2();
58 fn DAC();
59 fn FDCAN1_IT0();
60 fn FDCAN1_IT1();
61 fn TIM1_BRK();
62 fn TIM1_UP();
63 fn TIM1_TRG_COM();
64 fn TIM1_CC();
65 fn TIM2();
66 fn TIM3();
67 fn TIM4();
68 fn TIM5();
69 fn TIM6();
70 fn TIM7();
71 fn TIM8_BRK();
72 fn TIM8_UP();
73 fn TIM8_TRG_COM();
74 fn TIM8_CC();
75 fn I2C1_EV();
76 fn I2C1_ER();
77 fn I2C2_EV();
78 fn I2C2_ER();
79 fn SPI1();
80 fn SPI2();
81 fn USART1();
82 fn USART2();
83 fn USART3();
84 fn UART4();
85 fn UART5();
86 fn LPUART1();
87 fn LPTIM1();
88 fn LPTIM2();
89 fn TIM15();
90 fn TIM16();
91 fn TIM17();
92 fn COMP();
93 fn USB_FS();
94 fn CRS();
95 fn FMC();
96 fn OCTOSPI1();
97 fn SDMMC1();
98 fn DMA2_CH1();
99 fn DMA2_CH2();
100 fn DMA2_CH3();
101 fn DMA2_CH4();
102 fn DMA2_CH5();
103 fn DMA2_CH6();
104 fn DMA2_CH7();
105 fn DMA2_CH8();
106 fn I2C3_EV();
107 fn I2C3_ER();
108 fn SAI1();
109 fn SAI2();
110 fn TSC();
111 fn AES();
112 fn RNG();
113 fn HASH();
114 fn PKA();
115 fn LPTIM3();
116 fn SPI3();
117 fn I2C4_ER();
118 fn I2C4_EV();
119 fn DFSDM1_FLT0();
120 fn DFSDM1_FLT1();
121 fn DFSDM1_FLT2();
122 fn DFSDM1_FLT3();
123 fn UCPD1();
124 fn ICACHE();
125 fn OTFDEC1();
126}
127#[doc(hidden)]
128#[repr(C)]
129pub union Vector {
130 _handler: unsafe extern "C" fn(),
131 _reserved: u32,
132}
133#[cfg(feature = "rt")]
134#[doc(hidden)]
135#[link_section = ".vector_table.interrupts"]
136#[no_mangle]
137pub static __INTERRUPTS: [Vector; 109] = [
138 Vector { _handler: WWDG },
139 Vector { _handler: PVD_PVM },
140 Vector { _handler: RTC },
141 Vector { _handler: RTC_S },
142 Vector { _handler: TAMP },
143 Vector { _handler: TAMP_S },
144 Vector { _handler: FLASH },
145 Vector { _handler: FLASH_S },
146 Vector { _handler: GTZC },
147 Vector { _handler: RCC },
148 Vector { _handler: RCC_S },
149 Vector { _handler: EXTI0 },
150 Vector { _handler: EXTI1 },
151 Vector { _handler: EXTI2 },
152 Vector { _handler: EXTI3 },
153 Vector { _handler: EXTI4 },
154 Vector { _handler: EXTI5 },
155 Vector { _handler: EXTI6 },
156 Vector { _handler: EXTI7 },
157 Vector { _handler: EXTI8 },
158 Vector { _handler: EXTI9 },
159 Vector { _handler: EXTI10 },
160 Vector { _handler: EXTI11 },
161 Vector { _handler: EXTI12 },
162 Vector { _handler: EXTI13 },
163 Vector { _handler: EXTI14 },
164 Vector { _handler: EXTI15 },
165 Vector {
166 _handler: DMAMUX1_OVR,
167 },
168 Vector {
169 _handler: DMAMUX1_OVR_S,
170 },
171 Vector { _handler: DMA1_CH1 },
172 Vector { _handler: DMA1_CH2 },
173 Vector { _handler: DMA1_CH3 },
174 Vector { _handler: DMA1_CH4 },
175 Vector { _handler: DMA1_CH5 },
176 Vector { _handler: DMA1_CH6 },
177 Vector { _handler: DMA1_CH7 },
178 Vector {
179 _handler: DMA1_CHANNEL8,
180 },
181 Vector { _handler: ADC1_2 },
182 Vector { _handler: DAC },
183 Vector {
184 _handler: FDCAN1_IT0,
185 },
186 Vector {
187 _handler: FDCAN1_IT1,
188 },
189 Vector { _handler: TIM1_BRK },
190 Vector { _handler: TIM1_UP },
191 Vector {
192 _handler: TIM1_TRG_COM,
193 },
194 Vector { _handler: TIM1_CC },
195 Vector { _handler: TIM2 },
196 Vector { _handler: TIM3 },
197 Vector { _handler: TIM4 },
198 Vector { _handler: TIM5 },
199 Vector { _handler: TIM6 },
200 Vector { _handler: TIM7 },
201 Vector { _handler: TIM8_BRK },
202 Vector { _handler: TIM8_UP },
203 Vector {
204 _handler: TIM8_TRG_COM,
205 },
206 Vector { _handler: TIM8_CC },
207 Vector { _handler: I2C1_EV },
208 Vector { _handler: I2C1_ER },
209 Vector { _handler: I2C2_EV },
210 Vector { _handler: I2C2_ER },
211 Vector { _handler: SPI1 },
212 Vector { _handler: SPI2 },
213 Vector { _handler: USART1 },
214 Vector { _handler: USART2 },
215 Vector { _handler: USART3 },
216 Vector { _handler: UART4 },
217 Vector { _handler: UART5 },
218 Vector { _handler: LPUART1 },
219 Vector { _handler: LPTIM1 },
220 Vector { _handler: LPTIM2 },
221 Vector { _handler: TIM15 },
222 Vector { _handler: TIM16 },
223 Vector { _handler: TIM17 },
224 Vector { _handler: COMP },
225 Vector { _handler: USB_FS },
226 Vector { _handler: CRS },
227 Vector { _handler: FMC },
228 Vector { _handler: OCTOSPI1 },
229 Vector { _reserved: 0 },
230 Vector { _handler: SDMMC1 },
231 Vector { _reserved: 0 },
232 Vector { _handler: DMA2_CH1 },
233 Vector { _handler: DMA2_CH2 },
234 Vector { _handler: DMA2_CH3 },
235 Vector { _handler: DMA2_CH4 },
236 Vector { _handler: DMA2_CH5 },
237 Vector { _handler: DMA2_CH6 },
238 Vector { _handler: DMA2_CH7 },
239 Vector { _handler: DMA2_CH8 },
240 Vector { _handler: I2C3_EV },
241 Vector { _handler: I2C3_ER },
242 Vector { _handler: SAI1 },
243 Vector { _handler: SAI2 },
244 Vector { _handler: TSC },
245 Vector { _handler: AES },
246 Vector { _handler: RNG },
247 Vector { _reserved: 0 },
248 Vector { _handler: HASH },
249 Vector { _handler: PKA },
250 Vector { _handler: LPTIM3 },
251 Vector { _handler: SPI3 },
252 Vector { _handler: I2C4_ER },
253 Vector { _handler: I2C4_EV },
254 Vector {
255 _handler: DFSDM1_FLT0,
256 },
257 Vector {
258 _handler: DFSDM1_FLT1,
259 },
260 Vector {
261 _handler: DFSDM1_FLT2,
262 },
263 Vector {
264 _handler: DFSDM1_FLT3,
265 },
266 Vector { _handler: UCPD1 },
267 Vector { _handler: ICACHE },
268 Vector { _handler: OTFDEC1 },
269];
270#[cfg_attr(feature = "defmt", derive(defmt::Format))]
272#[derive(Copy, Clone, Debug, PartialEq, Eq)]
273#[repr(u16)]
274pub enum Interrupt {
275 WWDG = 0,
277 PVD_PVM = 1,
279 RTC = 2,
281 RTC_S = 3,
283 TAMP = 4,
285 TAMP_S = 5,
287 FLASH = 6,
289 FLASH_S = 7,
291 GTZC = 8,
293 RCC = 9,
295 RCC_S = 10,
297 EXTI0 = 11,
299 EXTI1 = 12,
301 EXTI2 = 13,
303 EXTI3 = 14,
305 EXTI4 = 15,
307 EXTI5 = 16,
309 EXTI6 = 17,
311 EXTI7 = 18,
313 EXTI8 = 19,
315 EXTI9 = 20,
317 EXTI10 = 21,
319 EXTI11 = 22,
321 EXTI12 = 23,
323 EXTI13 = 24,
325 EXTI14 = 25,
327 EXTI15 = 26,
329 DMAMUX1_OVR = 27,
331 DMAMUX1_OVR_S = 28,
333 DMA1_CH1 = 29,
335 DMA1_CH2 = 30,
337 DMA1_CH3 = 31,
339 DMA1_CH4 = 32,
341 DMA1_CH5 = 33,
343 DMA1_CH6 = 34,
345 DMA1_CH7 = 35,
347 DMA1_CHANNEL8 = 36,
349 ADC1_2 = 37,
351 DAC = 38,
353 FDCAN1_IT0 = 39,
355 FDCAN1_IT1 = 40,
357 TIM1_BRK = 41,
359 TIM1_UP = 42,
361 TIM1_TRG_COM = 43,
363 TIM1_CC = 44,
365 TIM2 = 45,
367 TIM3 = 46,
369 TIM4 = 47,
371 TIM5 = 48,
373 TIM6 = 49,
375 TIM7 = 50,
377 TIM8_BRK = 51,
379 TIM8_UP = 52,
381 TIM8_TRG_COM = 53,
383 TIM8_CC = 54,
385 I2C1_EV = 55,
387 I2C1_ER = 56,
389 I2C2_EV = 57,
391 I2C2_ER = 58,
393 SPI1 = 59,
395 SPI2 = 60,
397 USART1 = 61,
399 USART2 = 62,
401 USART3 = 63,
403 UART4 = 64,
405 UART5 = 65,
407 LPUART1 = 66,
409 LPTIM1 = 67,
411 LPTIM2 = 68,
413 TIM15 = 69,
415 TIM16 = 70,
417 TIM17 = 71,
419 COMP = 72,
421 USB_FS = 73,
423 CRS = 74,
425 FMC = 75,
427 OCTOSPI1 = 76,
429 SDMMC1 = 78,
431 DMA2_CH1 = 80,
433 DMA2_CH2 = 81,
435 DMA2_CH3 = 82,
437 DMA2_CH4 = 83,
439 DMA2_CH5 = 84,
441 DMA2_CH6 = 85,
443 DMA2_CH7 = 86,
445 DMA2_CH8 = 87,
447 I2C3_EV = 88,
449 I2C3_ER = 89,
451 SAI1 = 90,
453 SAI2 = 91,
455 TSC = 92,
457 AES = 93,
459 RNG = 94,
461 HASH = 96,
463 PKA = 97,
465 LPTIM3 = 98,
467 SPI3 = 99,
469 I2C4_ER = 100,
471 I2C4_EV = 101,
473 DFSDM1_FLT0 = 102,
475 DFSDM1_FLT1 = 103,
477 DFSDM1_FLT2 = 104,
479 DFSDM1_FLT3 = 105,
481 UCPD1 = 106,
483 ICACHE = 107,
485 OTFDEC1 = 108,
487}
488unsafe impl cortex_m::interrupt::InterruptNumber for Interrupt {
489 #[inline(always)]
490 fn number(self) -> u16 {
491 self as u16
492 }
493}
494pub type ADC1 = crate::Periph<adc1::RegisterBlock, 0x4202_8000>;
498impl core::fmt::Debug for ADC1 {
499 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
500 f.debug_struct("ADC1").finish()
501 }
502}
503pub mod adc1;
505pub type SEC_ADC1 = crate::Periph<adc1::RegisterBlock, 0x5202_8000>;
509impl core::fmt::Debug for SEC_ADC1 {
510 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
511 f.debug_struct("SEC_ADC1").finish()
512 }
513}
514pub use self::adc1 as sec_adc1;
516pub type ADC2 = crate::Periph<adc1::RegisterBlock, 0x4202_8100>;
520impl core::fmt::Debug for ADC2 {
521 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
522 f.debug_struct("ADC2").finish()
523 }
524}
525pub use self::adc1 as adc2;
527pub type SEC_ADC2 = crate::Periph<adc1::RegisterBlock, 0x5202_8100>;
531impl core::fmt::Debug for SEC_ADC2 {
532 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
533 f.debug_struct("SEC_ADC2").finish()
534 }
535}
536pub use self::adc1 as sec_adc2;
538pub type ADC_COMMON = crate::Periph<adc_common::RegisterBlock, 0x4202_8300>;
542impl core::fmt::Debug for ADC_COMMON {
543 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
544 f.debug_struct("ADC_COMMON").finish()
545 }
546}
547pub mod adc_common;
549pub type SEC_ADC_COMMON = crate::Periph<adc_common::RegisterBlock, 0x5202_8300>;
553impl core::fmt::Debug for SEC_ADC_COMMON {
554 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
555 f.debug_struct("SEC_ADC_COMMON").finish()
556 }
557}
558pub use self::adc_common as sec_adc_common;
560pub type AES = crate::Periph<aes::RegisterBlock, 0x420c_0000>;
564impl core::fmt::Debug for AES {
565 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
566 f.debug_struct("AES").finish()
567 }
568}
569pub mod aes;
571pub type SEC_AES = crate::Periph<aes::RegisterBlock, 0x520c_0000>;
575impl core::fmt::Debug for SEC_AES {
576 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
577 f.debug_struct("SEC_AES").finish()
578 }
579}
580pub use self::aes as sec_aes;
582pub type COMP = crate::Periph<comp::RegisterBlock, 0x4001_0200>;
586impl core::fmt::Debug for COMP {
587 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
588 f.debug_struct("COMP").finish()
589 }
590}
591pub mod comp;
593pub type SEC_COMP = crate::Periph<comp::RegisterBlock, 0x5001_0200>;
597impl core::fmt::Debug for SEC_COMP {
598 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
599 f.debug_struct("SEC_COMP").finish()
600 }
601}
602pub use self::comp as sec_comp;
604pub type CRC = crate::Periph<crc::RegisterBlock, 0x4002_3000>;
608impl core::fmt::Debug for CRC {
609 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
610 f.debug_struct("CRC").finish()
611 }
612}
613pub mod crc;
615pub type SEC_CRC = crate::Periph<crc::RegisterBlock, 0x5002_3000>;
619impl core::fmt::Debug for SEC_CRC {
620 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
621 f.debug_struct("SEC_CRC").finish()
622 }
623}
624pub use self::crc as sec_crc;
626pub type CRS = crate::Periph<crs::RegisterBlock, 0x4000_6000>;
630impl core::fmt::Debug for CRS {
631 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
632 f.debug_struct("CRS").finish()
633 }
634}
635pub mod crs;
637pub type SEC_CRS = crate::Periph<crs::RegisterBlock, 0x5000_6000>;
641impl core::fmt::Debug for SEC_CRS {
642 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
643 f.debug_struct("SEC_CRS").finish()
644 }
645}
646pub use self::crs as sec_crs;
648pub type DAC = crate::Periph<dac::RegisterBlock, 0x4000_7400>;
652impl core::fmt::Debug for DAC {
653 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
654 f.debug_struct("DAC").finish()
655 }
656}
657pub mod dac;
659pub type SEC_DAC = crate::Periph<dac::RegisterBlock, 0x5000_7400>;
663impl core::fmt::Debug for SEC_DAC {
664 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
665 f.debug_struct("SEC_DAC").finish()
666 }
667}
668pub use self::dac as sec_dac;
670pub type DBGMCU = crate::Periph<dbgmcu::RegisterBlock, 0xe004_4000>;
674impl core::fmt::Debug for DBGMCU {
675 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
676 f.debug_struct("DBGMCU").finish()
677 }
678}
679pub mod dbgmcu;
681pub type DMA1 = crate::Periph<dma1::RegisterBlock, 0x4002_0000>;
685impl core::fmt::Debug for DMA1 {
686 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
687 f.debug_struct("DMA1").finish()
688 }
689}
690pub mod dma1;
692pub type SEC_DMA1 = crate::Periph<dma1::RegisterBlock, 0x5002_0000>;
696impl core::fmt::Debug for SEC_DMA1 {
697 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
698 f.debug_struct("SEC_DMA1").finish()
699 }
700}
701pub use self::dma1 as sec_dma1;
703pub type DMA2 = crate::Periph<dma1::RegisterBlock, 0x4002_0400>;
707impl core::fmt::Debug for DMA2 {
708 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
709 f.debug_struct("DMA2").finish()
710 }
711}
712pub use self::dma1 as dma2;
714pub type SEC_DMA2 = crate::Periph<dma1::RegisterBlock, 0x5002_0400>;
718impl core::fmt::Debug for SEC_DMA2 {
719 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
720 f.debug_struct("SEC_DMA2").finish()
721 }
722}
723pub use self::dma1 as sec_dma2;
725pub type DFSDM1 = crate::Periph<dfsdm1::RegisterBlock, 0x4001_6000>;
729impl core::fmt::Debug for DFSDM1 {
730 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
731 f.debug_struct("DFSDM1").finish()
732 }
733}
734pub mod dfsdm1;
736pub type SEC_DFSDM1 = crate::Periph<dfsdm1::RegisterBlock, 0x5001_6000>;
740impl core::fmt::Debug for SEC_DFSDM1 {
741 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
742 f.debug_struct("SEC_DFSDM1").finish()
743 }
744}
745pub use self::dfsdm1 as sec_dfsdm1;
747pub type DMAMUX1 = crate::Periph<dmamux1::RegisterBlock, 0x4002_0800>;
751impl core::fmt::Debug for DMAMUX1 {
752 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
753 f.debug_struct("DMAMUX1").finish()
754 }
755}
756pub mod dmamux1;
758pub type SEC_DMAMUX1 = crate::Periph<dmamux1::RegisterBlock, 0x5002_0800>;
762impl core::fmt::Debug for SEC_DMAMUX1 {
763 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
764 f.debug_struct("SEC_DMAMUX1").finish()
765 }
766}
767pub use self::dmamux1 as sec_dmamux1;
769pub type EXTI = crate::Periph<exti::RegisterBlock, 0x4002_f400>;
773impl core::fmt::Debug for EXTI {
774 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
775 f.debug_struct("EXTI").finish()
776 }
777}
778pub mod exti;
780pub type SEC_EXTI = crate::Periph<exti::RegisterBlock, 0x5002_f400>;
784impl core::fmt::Debug for SEC_EXTI {
785 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
786 f.debug_struct("SEC_EXTI").finish()
787 }
788}
789pub use self::exti as sec_exti;
791pub type FDCAN1 = crate::Periph<fdcan1::RegisterBlock, 0x4000_a400>;
795impl core::fmt::Debug for FDCAN1 {
796 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
797 f.debug_struct("FDCAN1").finish()
798 }
799}
800pub mod fdcan1;
802pub type SEC_FDCAN1 = crate::Periph<fdcan1::RegisterBlock, 0x5000_a400>;
806impl core::fmt::Debug for SEC_FDCAN1 {
807 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
808 f.debug_struct("SEC_FDCAN1").finish()
809 }
810}
811pub use self::fdcan1 as sec_fdcan1;
813pub type FLASH = crate::Periph<flash::RegisterBlock, 0x4002_2000>;
817impl core::fmt::Debug for FLASH {
818 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
819 f.debug_struct("FLASH").finish()
820 }
821}
822pub mod flash;
824pub type SEC_FLASH = crate::Periph<flash::RegisterBlock, 0x5002_2000>;
828impl core::fmt::Debug for SEC_FLASH {
829 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
830 f.debug_struct("SEC_FLASH").finish()
831 }
832}
833pub use self::flash as sec_flash;
835pub type FMC = crate::Periph<fmc::RegisterBlock, 0x4402_0000>;
839impl core::fmt::Debug for FMC {
840 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
841 f.debug_struct("FMC").finish()
842 }
843}
844pub mod fmc;
846pub type SEC_FMC = crate::Periph<fmc::RegisterBlock, 0x5402_0000>;
850impl core::fmt::Debug for SEC_FMC {
851 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
852 f.debug_struct("SEC_FMC").finish()
853 }
854}
855pub use self::fmc as sec_fmc;
857pub type GPIOA = crate::Periph<gpioa::RegisterBlock, 0x4202_0000>;
861impl core::fmt::Debug for GPIOA {
862 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
863 f.debug_struct("GPIOA").finish()
864 }
865}
866pub mod gpioa;
868pub type SEC_GPIOA = crate::Periph<gpioa::RegisterBlock, 0x5202_0000>;
872impl core::fmt::Debug for SEC_GPIOA {
873 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
874 f.debug_struct("SEC_GPIOA").finish()
875 }
876}
877pub use self::gpioa as sec_gpioa;
879pub type GPIOB = crate::Periph<gpiob::RegisterBlock, 0x4202_0400>;
883impl core::fmt::Debug for GPIOB {
884 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
885 f.debug_struct("GPIOB").finish()
886 }
887}
888pub mod gpiob;
890pub type SEC_GPIOB = crate::Periph<gpiob::RegisterBlock, 0x5202_0400>;
894impl core::fmt::Debug for SEC_GPIOB {
895 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
896 f.debug_struct("SEC_GPIOB").finish()
897 }
898}
899pub use self::gpiob as sec_gpiob;
901pub type GPIOC = crate::Periph<gpioc::RegisterBlock, 0x4202_0800>;
905impl core::fmt::Debug for GPIOC {
906 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
907 f.debug_struct("GPIOC").finish()
908 }
909}
910pub mod gpioc;
912pub type GPIOD = crate::Periph<gpioc::RegisterBlock, 0x4202_0c00>;
916impl core::fmt::Debug for GPIOD {
917 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
918 f.debug_struct("GPIOD").finish()
919 }
920}
921pub use self::gpioc as gpiod;
923pub type GPIOE = crate::Periph<gpioc::RegisterBlock, 0x4202_1000>;
927impl core::fmt::Debug for GPIOE {
928 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
929 f.debug_struct("GPIOE").finish()
930 }
931}
932pub use self::gpioc as gpioe;
934pub type GPIOF = crate::Periph<gpioc::RegisterBlock, 0x4202_1400>;
938impl core::fmt::Debug for GPIOF {
939 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
940 f.debug_struct("GPIOF").finish()
941 }
942}
943pub use self::gpioc as gpiof;
945pub type GPIOG = crate::Periph<gpioc::RegisterBlock, 0x4202_1800>;
949impl core::fmt::Debug for GPIOG {
950 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
951 f.debug_struct("GPIOG").finish()
952 }
953}
954pub use self::gpioc as gpiog;
956pub type SEC_GPIOC = crate::Periph<gpioc::RegisterBlock, 0x5202_0800>;
960impl core::fmt::Debug for SEC_GPIOC {
961 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
962 f.debug_struct("SEC_GPIOC").finish()
963 }
964}
965pub use self::gpioc as sec_gpioc;
967pub type SEC_GPIOD = crate::Periph<gpioc::RegisterBlock, 0x5202_0c00>;
971impl core::fmt::Debug for SEC_GPIOD {
972 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
973 f.debug_struct("SEC_GPIOD").finish()
974 }
975}
976pub use self::gpioc as sec_gpiod;
978pub type SEC_GPIOE = crate::Periph<gpioc::RegisterBlock, 0x5202_1000>;
982impl core::fmt::Debug for SEC_GPIOE {
983 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
984 f.debug_struct("SEC_GPIOE").finish()
985 }
986}
987pub use self::gpioc as sec_gpioe;
989pub type SEC_GPIOF = crate::Periph<gpioc::RegisterBlock, 0x5202_1400>;
993impl core::fmt::Debug for SEC_GPIOF {
994 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
995 f.debug_struct("SEC_GPIOF").finish()
996 }
997}
998pub use self::gpioc as sec_gpiof;
1000pub type SEC_GPIOG = crate::Periph<gpioc::RegisterBlock, 0x5202_1800>;
1004impl core::fmt::Debug for SEC_GPIOG {
1005 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1006 f.debug_struct("SEC_GPIOG").finish()
1007 }
1008}
1009pub use self::gpioc as sec_gpiog;
1011pub type GPIOH = crate::Periph<gpioh::RegisterBlock, 0x4202_1c00>;
1015impl core::fmt::Debug for GPIOH {
1016 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1017 f.debug_struct("GPIOH").finish()
1018 }
1019}
1020pub mod gpioh;
1022pub type SEC_GPIOH = crate::Periph<gpioh::RegisterBlock, 0x5202_1c00>;
1026impl core::fmt::Debug for SEC_GPIOH {
1027 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1028 f.debug_struct("SEC_GPIOH").finish()
1029 }
1030}
1031pub use self::gpioh as sec_gpioh;
1033pub type GTZC_MPCBB1 = crate::Periph<gtzc_mpcbb1::RegisterBlock, 0x4003_2c00>;
1037impl core::fmt::Debug for GTZC_MPCBB1 {
1038 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1039 f.debug_struct("GTZC_MPCBB1").finish()
1040 }
1041}
1042pub mod gtzc_mpcbb1;
1044pub type SEC_GTZC_MPCBB1 = crate::Periph<gtzc_mpcbb1::RegisterBlock, 0x5003_2c00>;
1048impl core::fmt::Debug for SEC_GTZC_MPCBB1 {
1049 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1050 f.debug_struct("SEC_GTZC_MPCBB1").finish()
1051 }
1052}
1053pub use self::gtzc_mpcbb1 as sec_gtzc_mpcbb1;
1055pub type GTZC_MPCBB2 = crate::Periph<gtzc_mpcbb2::RegisterBlock, 0x4003_3000>;
1059impl core::fmt::Debug for GTZC_MPCBB2 {
1060 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1061 f.debug_struct("GTZC_MPCBB2").finish()
1062 }
1063}
1064pub mod gtzc_mpcbb2;
1066pub type SEC_GTZC_MPCBB2 = crate::Periph<gtzc_mpcbb2::RegisterBlock, 0x5003_3000>;
1070impl core::fmt::Debug for SEC_GTZC_MPCBB2 {
1071 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1072 f.debug_struct("SEC_GTZC_MPCBB2").finish()
1073 }
1074}
1075pub use self::gtzc_mpcbb2 as sec_gtzc_mpcbb2;
1077pub type GTZC_TZIC = crate::Periph<gtzc_tzic::RegisterBlock, 0x4003_2800>;
1081impl core::fmt::Debug for GTZC_TZIC {
1082 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1083 f.debug_struct("GTZC_TZIC").finish()
1084 }
1085}
1086pub mod gtzc_tzic;
1088pub type SEC_GTZC_TZIC = crate::Periph<gtzc_tzic::RegisterBlock, 0x5003_2800>;
1092impl core::fmt::Debug for SEC_GTZC_TZIC {
1093 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1094 f.debug_struct("SEC_GTZC_TZIC").finish()
1095 }
1096}
1097pub use self::gtzc_tzic as sec_gtzc_tzic;
1099pub type GTZC_TZSC = crate::Periph<gtzc_tzsc::RegisterBlock, 0x4003_2400>;
1103impl core::fmt::Debug for GTZC_TZSC {
1104 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1105 f.debug_struct("GTZC_TZSC").finish()
1106 }
1107}
1108pub mod gtzc_tzsc;
1110pub type SEC_GTZC_TZSC = crate::Periph<gtzc_tzsc::RegisterBlock, 0x5003_2400>;
1114impl core::fmt::Debug for SEC_GTZC_TZSC {
1115 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1116 f.debug_struct("SEC_GTZC_TZSC").finish()
1117 }
1118}
1119pub use self::gtzc_tzsc as sec_gtzc_tzsc;
1121pub type HASH = crate::Periph<hash::RegisterBlock, 0x420c_0400>;
1125impl core::fmt::Debug for HASH {
1126 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1127 f.debug_struct("HASH").finish()
1128 }
1129}
1130pub mod hash;
1132pub type SEC_HASH = crate::Periph<hash::RegisterBlock, 0x520c_0400>;
1136impl core::fmt::Debug for SEC_HASH {
1137 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1138 f.debug_struct("SEC_HASH").finish()
1139 }
1140}
1141pub use self::hash as sec_hash;
1143pub type I2C1 = crate::Periph<i2c1::RegisterBlock, 0x4000_5400>;
1147impl core::fmt::Debug for I2C1 {
1148 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1149 f.debug_struct("I2C1").finish()
1150 }
1151}
1152pub mod i2c1;
1154pub type I2C2 = crate::Periph<i2c1::RegisterBlock, 0x4000_5800>;
1158impl core::fmt::Debug for I2C2 {
1159 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1160 f.debug_struct("I2C2").finish()
1161 }
1162}
1163pub use self::i2c1 as i2c2;
1165pub type I2C3 = crate::Periph<i2c1::RegisterBlock, 0x4000_5c00>;
1169impl core::fmt::Debug for I2C3 {
1170 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1171 f.debug_struct("I2C3").finish()
1172 }
1173}
1174pub use self::i2c1 as i2c3;
1176pub type I2C4 = crate::Periph<i2c1::RegisterBlock, 0x4000_8400>;
1180impl core::fmt::Debug for I2C4 {
1181 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1182 f.debug_struct("I2C4").finish()
1183 }
1184}
1185pub use self::i2c1 as i2c4;
1187pub type SEC_I2C1 = crate::Periph<i2c1::RegisterBlock, 0x5000_5400>;
1191impl core::fmt::Debug for SEC_I2C1 {
1192 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1193 f.debug_struct("SEC_I2C1").finish()
1194 }
1195}
1196pub use self::i2c1 as sec_i2c1;
1198pub type SEC_I2C2 = crate::Periph<i2c1::RegisterBlock, 0x5000_5800>;
1202impl core::fmt::Debug for SEC_I2C2 {
1203 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1204 f.debug_struct("SEC_I2C2").finish()
1205 }
1206}
1207pub use self::i2c1 as sec_i2c2;
1209pub type SEC_I2C3 = crate::Periph<i2c1::RegisterBlock, 0x5000_5c00>;
1213impl core::fmt::Debug for SEC_I2C3 {
1214 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1215 f.debug_struct("SEC_I2C3").finish()
1216 }
1217}
1218pub use self::i2c1 as sec_i2c3;
1220pub type SEC_I2C4 = crate::Periph<i2c1::RegisterBlock, 0x5000_8400>;
1224impl core::fmt::Debug for SEC_I2C4 {
1225 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1226 f.debug_struct("SEC_I2C4").finish()
1227 }
1228}
1229pub use self::i2c1 as sec_i2c4;
1231pub type ICACHE = crate::Periph<icache::RegisterBlock, 0x4003_0400>;
1235impl core::fmt::Debug for ICACHE {
1236 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1237 f.debug_struct("ICACHE").finish()
1238 }
1239}
1240pub mod icache;
1242pub type SEC_ICACHE = crate::Periph<icache::RegisterBlock, 0x5003_0400>;
1246impl core::fmt::Debug for SEC_ICACHE {
1247 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1248 f.debug_struct("SEC_ICACHE").finish()
1249 }
1250}
1251pub use self::icache as sec_icache;
1253pub type IWDG = crate::Periph<iwdg::RegisterBlock, 0x4000_3000>;
1257impl core::fmt::Debug for IWDG {
1258 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1259 f.debug_struct("IWDG").finish()
1260 }
1261}
1262pub mod iwdg;
1264pub type SEC_IWDG = crate::Periph<iwdg::RegisterBlock, 0x5000_3000>;
1268impl core::fmt::Debug for SEC_IWDG {
1269 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1270 f.debug_struct("SEC_IWDG").finish()
1271 }
1272}
1273pub use self::iwdg as sec_iwdg;
1275pub type LPTIM1 = crate::Periph<lptim1::RegisterBlock, 0x4000_7c00>;
1279impl core::fmt::Debug for LPTIM1 {
1280 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1281 f.debug_struct("LPTIM1").finish()
1282 }
1283}
1284pub mod lptim1;
1286pub type LPTIM2 = crate::Periph<lptim1::RegisterBlock, 0x4000_9400>;
1290impl core::fmt::Debug for LPTIM2 {
1291 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1292 f.debug_struct("LPTIM2").finish()
1293 }
1294}
1295pub use self::lptim1 as lptim2;
1297pub type LPTIM3 = crate::Periph<lptim1::RegisterBlock, 0x4000_9800>;
1301impl core::fmt::Debug for LPTIM3 {
1302 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1303 f.debug_struct("LPTIM3").finish()
1304 }
1305}
1306pub use self::lptim1 as lptim3;
1308pub type SEC_LPTIM1 = crate::Periph<lptim1::RegisterBlock, 0x5000_7c00>;
1312impl core::fmt::Debug for SEC_LPTIM1 {
1313 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1314 f.debug_struct("SEC_LPTIM1").finish()
1315 }
1316}
1317pub use self::lptim1 as sec_lptim1;
1319pub type SEC_LPTIM2 = crate::Periph<lptim1::RegisterBlock, 0x5000_9400>;
1323impl core::fmt::Debug for SEC_LPTIM2 {
1324 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1325 f.debug_struct("SEC_LPTIM2").finish()
1326 }
1327}
1328pub use self::lptim1 as sec_lptim2;
1330pub type SEC_LPTIM3 = crate::Periph<lptim1::RegisterBlock, 0x5000_9800>;
1334impl core::fmt::Debug for SEC_LPTIM3 {
1335 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1336 f.debug_struct("SEC_LPTIM3").finish()
1337 }
1338}
1339pub use self::lptim1 as sec_lptim3;
1341pub type LPUART1 = crate::Periph<lpuart1::RegisterBlock, 0x4000_8000>;
1345impl core::fmt::Debug for LPUART1 {
1346 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1347 f.debug_struct("LPUART1").finish()
1348 }
1349}
1350pub mod lpuart1;
1352pub type SEC_LPUART1 = crate::Periph<lpuart1::RegisterBlock, 0x5000_8000>;
1356impl core::fmt::Debug for SEC_LPUART1 {
1357 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1358 f.debug_struct("SEC_LPUART1").finish()
1359 }
1360}
1361pub use self::lpuart1 as sec_lpuart1;
1363pub type OCTOSPI1 = crate::Periph<octospi1::RegisterBlock, 0x4402_1000>;
1367impl core::fmt::Debug for OCTOSPI1 {
1368 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1369 f.debug_struct("OCTOSPI1").finish()
1370 }
1371}
1372pub mod octospi1;
1374pub type SEC_OCTOSPI1 = crate::Periph<octospi1::RegisterBlock, 0x5402_1000>;
1378impl core::fmt::Debug for SEC_OCTOSPI1 {
1379 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1380 f.debug_struct("SEC_OCTOSPI1").finish()
1381 }
1382}
1383pub use self::octospi1 as sec_octospi1;
1385pub type OPAMP = crate::Periph<opamp::RegisterBlock, 0x4000_7800>;
1389impl core::fmt::Debug for OPAMP {
1390 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1391 f.debug_struct("OPAMP").finish()
1392 }
1393}
1394pub mod opamp;
1396pub type SEC_OPAMP = crate::Periph<opamp::RegisterBlock, 0x5000_7800>;
1400impl core::fmt::Debug for SEC_OPAMP {
1401 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1402 f.debug_struct("SEC_OPAMP").finish()
1403 }
1404}
1405pub use self::opamp as sec_opamp;
1407pub type OTFDEC1 = crate::Periph<otfdec1::RegisterBlock, 0x420c_5000>;
1411impl core::fmt::Debug for OTFDEC1 {
1412 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1413 f.debug_struct("OTFDEC1").finish()
1414 }
1415}
1416pub mod otfdec1;
1418pub type SEC_OTFDEC1 = crate::Periph<otfdec1::RegisterBlock, 0x520c_5000>;
1422impl core::fmt::Debug for SEC_OTFDEC1 {
1423 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1424 f.debug_struct("SEC_OTFDEC1").finish()
1425 }
1426}
1427pub use self::otfdec1 as sec_otfdec1;
1429pub type PKA = crate::Periph<pka::RegisterBlock, 0x420c_2000>;
1433impl core::fmt::Debug for PKA {
1434 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1435 f.debug_struct("PKA").finish()
1436 }
1437}
1438pub mod pka;
1440pub type SEC_PKA = crate::Periph<pka::RegisterBlock, 0x520c_2000>;
1444impl core::fmt::Debug for SEC_PKA {
1445 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1446 f.debug_struct("SEC_PKA").finish()
1447 }
1448}
1449pub use self::pka as sec_pka;
1451pub type PWR = crate::Periph<pwr::RegisterBlock, 0x4000_7000>;
1455impl core::fmt::Debug for PWR {
1456 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1457 f.debug_struct("PWR").finish()
1458 }
1459}
1460pub mod pwr;
1462pub type SEC_PWR = crate::Periph<pwr::RegisterBlock, 0x5000_7000>;
1466impl core::fmt::Debug for SEC_PWR {
1467 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1468 f.debug_struct("SEC_PWR").finish()
1469 }
1470}
1471pub use self::pwr as sec_pwr;
1473pub type RCC = crate::Periph<rcc::RegisterBlock, 0x4002_1000>;
1477impl core::fmt::Debug for RCC {
1478 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1479 f.debug_struct("RCC").finish()
1480 }
1481}
1482pub mod rcc;
1484pub type SEC_RCC = crate::Periph<rcc::RegisterBlock, 0x5002_1000>;
1488impl core::fmt::Debug for SEC_RCC {
1489 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1490 f.debug_struct("SEC_RCC").finish()
1491 }
1492}
1493pub use self::rcc as sec_rcc;
1495pub type RNG = crate::Periph<rng::RegisterBlock, 0x420c_0800>;
1499impl core::fmt::Debug for RNG {
1500 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1501 f.debug_struct("RNG").finish()
1502 }
1503}
1504pub mod rng;
1506pub type SEC_RNG = crate::Periph<rng::RegisterBlock, 0x520c_0800>;
1510impl core::fmt::Debug for SEC_RNG {
1511 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1512 f.debug_struct("SEC_RNG").finish()
1513 }
1514}
1515pub use self::rng as sec_rng;
1517pub type RTC = crate::Periph<rtc::RegisterBlock, 0x4000_2800>;
1521impl core::fmt::Debug for RTC {
1522 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1523 f.debug_struct("RTC").finish()
1524 }
1525}
1526pub mod rtc;
1528pub type SEC_RTC = crate::Periph<rtc::RegisterBlock, 0x5000_2800>;
1532impl core::fmt::Debug for SEC_RTC {
1533 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1534 f.debug_struct("SEC_RTC").finish()
1535 }
1536}
1537pub use self::rtc as sec_rtc;
1539pub type SAI1 = crate::Periph<sai1::RegisterBlock, 0x4001_5400>;
1543impl core::fmt::Debug for SAI1 {
1544 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1545 f.debug_struct("SAI1").finish()
1546 }
1547}
1548pub mod sai1;
1550pub type SAI2 = crate::Periph<sai1::RegisterBlock, 0x4001_5800>;
1554impl core::fmt::Debug for SAI2 {
1555 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1556 f.debug_struct("SAI2").finish()
1557 }
1558}
1559pub use self::sai1 as sai2;
1561pub type SEC_SAI1 = crate::Periph<sai1::RegisterBlock, 0x5001_5400>;
1565impl core::fmt::Debug for SEC_SAI1 {
1566 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1567 f.debug_struct("SEC_SAI1").finish()
1568 }
1569}
1570pub use self::sai1 as sec_sai1;
1572pub type SEC_SAI2 = crate::Periph<sai1::RegisterBlock, 0x5001_5800>;
1576impl core::fmt::Debug for SEC_SAI2 {
1577 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1578 f.debug_struct("SEC_SAI2").finish()
1579 }
1580}
1581pub use self::sai1 as sec_sai2;
1583pub type SDMMC1 = crate::Periph<sdmmc1::RegisterBlock, 0x420c_8000>;
1587impl core::fmt::Debug for SDMMC1 {
1588 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1589 f.debug_struct("SDMMC1").finish()
1590 }
1591}
1592pub mod sdmmc1;
1594pub type SEC_SDMMC1 = crate::Periph<sdmmc1::RegisterBlock, 0x520c_8000>;
1598impl core::fmt::Debug for SEC_SDMMC1 {
1599 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1600 f.debug_struct("SEC_SDMMC1").finish()
1601 }
1602}
1603pub use self::sdmmc1 as sec_sdmmc1;
1605pub type SPI1 = crate::Periph<spi1::RegisterBlock, 0x4001_3000>;
1609impl core::fmt::Debug for SPI1 {
1610 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1611 f.debug_struct("SPI1").finish()
1612 }
1613}
1614pub mod spi1;
1616pub type SPI2 = crate::Periph<spi1::RegisterBlock, 0x4000_3800>;
1620impl core::fmt::Debug for SPI2 {
1621 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1622 f.debug_struct("SPI2").finish()
1623 }
1624}
1625pub use self::spi1 as spi2;
1627pub type SPI3 = crate::Periph<spi1::RegisterBlock, 0x4000_3c00>;
1631impl core::fmt::Debug for SPI3 {
1632 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1633 f.debug_struct("SPI3").finish()
1634 }
1635}
1636pub use self::spi1 as spi3;
1638pub type SEC_SPI1 = crate::Periph<spi1::RegisterBlock, 0x5001_3000>;
1642impl core::fmt::Debug for SEC_SPI1 {
1643 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1644 f.debug_struct("SEC_SPI1").finish()
1645 }
1646}
1647pub use self::spi1 as sec_spi1;
1649pub type SEC_SPI2 = crate::Periph<spi1::RegisterBlock, 0x5000_3800>;
1653impl core::fmt::Debug for SEC_SPI2 {
1654 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1655 f.debug_struct("SEC_SPI2").finish()
1656 }
1657}
1658pub use self::spi1 as sec_spi2;
1660pub type SEC_SPI3 = crate::Periph<spi1::RegisterBlock, 0x5000_3c00>;
1664impl core::fmt::Debug for SEC_SPI3 {
1665 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1666 f.debug_struct("SEC_SPI3").finish()
1667 }
1668}
1669pub use self::spi1 as sec_spi3;
1671pub type SYSCFG = crate::Periph<syscfg::RegisterBlock, 0x4001_0000>;
1675impl core::fmt::Debug for SYSCFG {
1676 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1677 f.debug_struct("SYSCFG").finish()
1678 }
1679}
1680pub mod syscfg;
1682pub type SEC_SYSCFG = crate::Periph<syscfg::RegisterBlock, 0x5001_0000>;
1686impl core::fmt::Debug for SEC_SYSCFG {
1687 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1688 f.debug_struct("SEC_SYSCFG").finish()
1689 }
1690}
1691pub use self::syscfg as sec_syscfg;
1693pub type TAMP = crate::Periph<tamp::RegisterBlock, 0x4000_3400>;
1697impl core::fmt::Debug for TAMP {
1698 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1699 f.debug_struct("TAMP").finish()
1700 }
1701}
1702pub mod tamp;
1704pub type SEC_TAMP = crate::Periph<tamp::RegisterBlock, 0x5000_3400>;
1708impl core::fmt::Debug for SEC_TAMP {
1709 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1710 f.debug_struct("SEC_TAMP").finish()
1711 }
1712}
1713pub use self::tamp as sec_tamp;
1715pub type TIM1 = crate::Periph<tim1::RegisterBlock, 0x4001_2c00>;
1719impl core::fmt::Debug for TIM1 {
1720 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1721 f.debug_struct("TIM1").finish()
1722 }
1723}
1724pub mod tim1;
1726pub type SEC_TIM1 = crate::Periph<tim1::RegisterBlock, 0x5001_2c00>;
1730impl core::fmt::Debug for SEC_TIM1 {
1731 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1732 f.debug_struct("SEC_TIM1").finish()
1733 }
1734}
1735pub use self::tim1 as sec_tim1;
1737pub type TIM2 = crate::Periph<tim2::RegisterBlock, 0x4000_0000>;
1741impl core::fmt::Debug for TIM2 {
1742 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1743 f.debug_struct("TIM2").finish()
1744 }
1745}
1746pub mod tim2;
1748pub type SEC_TIM2 = crate::Periph<tim2::RegisterBlock, 0x5000_0000>;
1752impl core::fmt::Debug for SEC_TIM2 {
1753 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1754 f.debug_struct("SEC_TIM2").finish()
1755 }
1756}
1757pub use self::tim2 as sec_tim2;
1759pub type TIM3 = crate::Periph<tim3::RegisterBlock, 0x4000_0400>;
1763impl core::fmt::Debug for TIM3 {
1764 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1765 f.debug_struct("TIM3").finish()
1766 }
1767}
1768pub mod tim3;
1770pub type SEC_TIM3 = crate::Periph<tim3::RegisterBlock, 0x5000_0400>;
1774impl core::fmt::Debug for SEC_TIM3 {
1775 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1776 f.debug_struct("SEC_TIM3").finish()
1777 }
1778}
1779pub use self::tim3 as sec_tim3;
1781pub type TIM4 = crate::Periph<tim3::RegisterBlock, 0x4000_0800>;
1785impl core::fmt::Debug for TIM4 {
1786 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1787 f.debug_struct("TIM4").finish()
1788 }
1789}
1790pub use self::tim3 as tim4;
1792pub type SEC_TIM4 = crate::Periph<tim3::RegisterBlock, 0x5000_0800>;
1796impl core::fmt::Debug for SEC_TIM4 {
1797 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1798 f.debug_struct("SEC_TIM4").finish()
1799 }
1800}
1801pub use self::tim3 as sec_tim4;
1803pub type TIM5 = crate::Periph<tim2::RegisterBlock, 0x4000_0c00>;
1807impl core::fmt::Debug for TIM5 {
1808 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1809 f.debug_struct("TIM5").finish()
1810 }
1811}
1812pub use self::tim2 as tim5;
1814pub type SEC_TIM5 = crate::Periph<tim2::RegisterBlock, 0x5000_0c00>;
1818impl core::fmt::Debug for SEC_TIM5 {
1819 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1820 f.debug_struct("SEC_TIM5").finish()
1821 }
1822}
1823pub use self::tim2 as sec_tim5;
1825pub type TIM6 = crate::Periph<tim6::RegisterBlock, 0x4000_1000>;
1829impl core::fmt::Debug for TIM6 {
1830 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1831 f.debug_struct("TIM6").finish()
1832 }
1833}
1834pub mod tim6;
1836pub type SEC_TIM6 = crate::Periph<tim6::RegisterBlock, 0x5000_1000>;
1840impl core::fmt::Debug for SEC_TIM6 {
1841 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1842 f.debug_struct("SEC_TIM6").finish()
1843 }
1844}
1845pub use self::tim6 as sec_tim6;
1847pub type TIM7 = crate::Periph<tim6::RegisterBlock, 0x4000_1400>;
1851impl core::fmt::Debug for TIM7 {
1852 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1853 f.debug_struct("TIM7").finish()
1854 }
1855}
1856pub use self::tim6 as tim7;
1858pub type SEC_TIM7 = crate::Periph<tim6::RegisterBlock, 0x5000_1400>;
1862impl core::fmt::Debug for SEC_TIM7 {
1863 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1864 f.debug_struct("SEC_TIM7").finish()
1865 }
1866}
1867pub use self::tim6 as sec_tim7;
1869pub type TIM15 = crate::Periph<tim15::RegisterBlock, 0x4001_4000>;
1873impl core::fmt::Debug for TIM15 {
1874 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1875 f.debug_struct("TIM15").finish()
1876 }
1877}
1878pub mod tim15;
1880pub type SEC_TIM15 = crate::Periph<tim15::RegisterBlock, 0x5001_4000>;
1884impl core::fmt::Debug for SEC_TIM15 {
1885 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1886 f.debug_struct("SEC_TIM15").finish()
1887 }
1888}
1889pub use self::tim15 as sec_tim15;
1891pub type TIM16 = crate::Periph<tim16::RegisterBlock, 0x4001_4400>;
1895impl core::fmt::Debug for TIM16 {
1896 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1897 f.debug_struct("TIM16").finish()
1898 }
1899}
1900pub mod tim16;
1902pub type SEC_TIM16 = crate::Periph<tim16::RegisterBlock, 0x5001_4400>;
1906impl core::fmt::Debug for SEC_TIM16 {
1907 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1908 f.debug_struct("SEC_TIM16").finish()
1909 }
1910}
1911pub use self::tim16 as sec_tim16;
1913pub type TIM17 = crate::Periph<tim17::RegisterBlock, 0x4001_4800>;
1917impl core::fmt::Debug for TIM17 {
1918 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1919 f.debug_struct("TIM17").finish()
1920 }
1921}
1922pub mod tim17;
1924pub type SEC_TIM17 = crate::Periph<tim17::RegisterBlock, 0x5001_4800>;
1928impl core::fmt::Debug for SEC_TIM17 {
1929 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1930 f.debug_struct("SEC_TIM17").finish()
1931 }
1932}
1933pub use self::tim17 as sec_tim17;
1935pub type TIM8 = crate::Periph<tim8::RegisterBlock, 0x4001_3400>;
1939impl core::fmt::Debug for TIM8 {
1940 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1941 f.debug_struct("TIM8").finish()
1942 }
1943}
1944pub mod tim8;
1946pub type SEC_TIM8 = crate::Periph<tim8::RegisterBlock, 0x5001_3400>;
1950impl core::fmt::Debug for SEC_TIM8 {
1951 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1952 f.debug_struct("SEC_TIM8").finish()
1953 }
1954}
1955pub use self::tim8 as sec_tim8;
1957pub type TSC = crate::Periph<tsc::RegisterBlock, 0x4002_4000>;
1961impl core::fmt::Debug for TSC {
1962 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1963 f.debug_struct("TSC").finish()
1964 }
1965}
1966pub mod tsc;
1968pub type SEC_TSC = crate::Periph<tsc::RegisterBlock, 0x5002_4000>;
1972impl core::fmt::Debug for SEC_TSC {
1973 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1974 f.debug_struct("SEC_TSC").finish()
1975 }
1976}
1977pub use self::tsc as sec_tsc;
1979pub type USB = crate::Periph<usb::RegisterBlock, 0x4000_d400>;
1983impl core::fmt::Debug for USB {
1984 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1985 f.debug_struct("USB").finish()
1986 }
1987}
1988pub mod usb;
1990pub type SEC_USB = crate::Periph<usb::RegisterBlock, 0x5000_d400>;
1994impl core::fmt::Debug for SEC_USB {
1995 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
1996 f.debug_struct("SEC_USB").finish()
1997 }
1998}
1999pub use self::usb as sec_usb;
2001pub type UCPD1 = crate::Periph<ucpd1::RegisterBlock, 0x4000_dc00>;
2005impl core::fmt::Debug for UCPD1 {
2006 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2007 f.debug_struct("UCPD1").finish()
2008 }
2009}
2010pub mod ucpd1;
2012pub type SEC_UCPD1 = crate::Periph<ucpd1::RegisterBlock, 0x5000_dc00>;
2016impl core::fmt::Debug for SEC_UCPD1 {
2017 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2018 f.debug_struct("SEC_UCPD1").finish()
2019 }
2020}
2021pub use self::ucpd1 as sec_ucpd1;
2023pub type USART1 = crate::Periph<usart1::RegisterBlock, 0x4001_3800>;
2027impl core::fmt::Debug for USART1 {
2028 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2029 f.debug_struct("USART1").finish()
2030 }
2031}
2032pub mod usart1;
2034pub type SEC_USART1 = crate::Periph<usart1::RegisterBlock, 0x5001_3800>;
2038impl core::fmt::Debug for SEC_USART1 {
2039 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2040 f.debug_struct("SEC_USART1").finish()
2041 }
2042}
2043pub use self::usart1 as sec_usart1;
2045pub type USART2 = crate::Periph<usart1::RegisterBlock, 0x4000_4400>;
2049impl core::fmt::Debug for USART2 {
2050 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2051 f.debug_struct("USART2").finish()
2052 }
2053}
2054pub use self::usart1 as usart2;
2056pub type SEC_USART2 = crate::Periph<usart1::RegisterBlock, 0x5000_4400>;
2060impl core::fmt::Debug for SEC_USART2 {
2061 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2062 f.debug_struct("SEC_USART2").finish()
2063 }
2064}
2065pub use self::usart1 as sec_usart2;
2067pub type USART3 = crate::Periph<usart1::RegisterBlock, 0x4000_4800>;
2071impl core::fmt::Debug for USART3 {
2072 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2073 f.debug_struct("USART3").finish()
2074 }
2075}
2076pub use self::usart1 as usart3;
2078pub type SEC_USART3 = crate::Periph<usart1::RegisterBlock, 0x5000_4800>;
2082impl core::fmt::Debug for SEC_USART3 {
2083 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2084 f.debug_struct("SEC_USART3").finish()
2085 }
2086}
2087pub use self::usart1 as sec_usart3;
2089pub type UART4 = crate::Periph<usart1::RegisterBlock, 0x4000_4c00>;
2093impl core::fmt::Debug for UART4 {
2094 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2095 f.debug_struct("UART4").finish()
2096 }
2097}
2098pub use self::usart1 as uart4;
2100pub type UART5 = crate::Periph<usart1::RegisterBlock, 0x4000_5000>;
2104impl core::fmt::Debug for UART5 {
2105 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2106 f.debug_struct("UART5").finish()
2107 }
2108}
2109pub use self::usart1 as uart5;
2111pub type SEC_UART4 = crate::Periph<usart1::RegisterBlock, 0x5000_4c00>;
2115impl core::fmt::Debug for SEC_UART4 {
2116 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2117 f.debug_struct("SEC_UART4").finish()
2118 }
2119}
2120pub use self::usart1 as sec_uart4;
2122pub type SEC_UART5 = crate::Periph<usart1::RegisterBlock, 0x5000_5000>;
2126impl core::fmt::Debug for SEC_UART5 {
2127 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2128 f.debug_struct("SEC_UART5").finish()
2129 }
2130}
2131pub use self::usart1 as sec_uart5;
2133pub type VREFBUF = crate::Periph<vrefbuf::RegisterBlock, 0x4001_0030>;
2137impl core::fmt::Debug for VREFBUF {
2138 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2139 f.debug_struct("VREFBUF").finish()
2140 }
2141}
2142pub mod vrefbuf;
2144pub type SEC_VREFBUF = crate::Periph<vrefbuf::RegisterBlock, 0x5001_0030>;
2148impl core::fmt::Debug for SEC_VREFBUF {
2149 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2150 f.debug_struct("SEC_VREFBUF").finish()
2151 }
2152}
2153pub use self::vrefbuf as sec_vrefbuf;
2155pub type WWDG = crate::Periph<wwdg::RegisterBlock, 0x4000_2c00>;
2159impl core::fmt::Debug for WWDG {
2160 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2161 f.debug_struct("WWDG").finish()
2162 }
2163}
2164pub mod wwdg;
2166pub type SEC_WWDG = crate::Periph<wwdg::RegisterBlock, 0x5000_2c00>;
2170impl core::fmt::Debug for SEC_WWDG {
2171 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
2172 f.debug_struct("SEC_WWDG").finish()
2173 }
2174}
2175pub use self::wwdg as sec_wwdg;
2177#[no_mangle]
2178static mut DEVICE_PERIPHERALS: bool = false;
2179#[allow(non_snake_case)]
2181pub struct Peripherals {
2182 pub ADC1: ADC1,
2184 pub SEC_ADC1: SEC_ADC1,
2186 pub ADC2: ADC2,
2188 pub SEC_ADC2: SEC_ADC2,
2190 pub ADC_COMMON: ADC_COMMON,
2192 pub SEC_ADC_COMMON: SEC_ADC_COMMON,
2194 pub AES: AES,
2196 pub SEC_AES: SEC_AES,
2198 pub COMP: COMP,
2200 pub SEC_COMP: SEC_COMP,
2202 pub CRC: CRC,
2204 pub SEC_CRC: SEC_CRC,
2206 pub CRS: CRS,
2208 pub SEC_CRS: SEC_CRS,
2210 pub DAC: DAC,
2212 pub SEC_DAC: SEC_DAC,
2214 pub DBGMCU: DBGMCU,
2216 pub DMA1: DMA1,
2218 pub SEC_DMA1: SEC_DMA1,
2220 pub DMA2: DMA2,
2222 pub SEC_DMA2: SEC_DMA2,
2224 pub DFSDM1: DFSDM1,
2226 pub SEC_DFSDM1: SEC_DFSDM1,
2228 pub DMAMUX1: DMAMUX1,
2230 pub SEC_DMAMUX1: SEC_DMAMUX1,
2232 pub EXTI: EXTI,
2234 pub SEC_EXTI: SEC_EXTI,
2236 pub FDCAN1: FDCAN1,
2238 pub SEC_FDCAN1: SEC_FDCAN1,
2240 pub FLASH: FLASH,
2242 pub SEC_FLASH: SEC_FLASH,
2244 pub FMC: FMC,
2246 pub SEC_FMC: SEC_FMC,
2248 pub GPIOA: GPIOA,
2250 pub SEC_GPIOA: SEC_GPIOA,
2252 pub GPIOB: GPIOB,
2254 pub SEC_GPIOB: SEC_GPIOB,
2256 pub GPIOC: GPIOC,
2258 pub GPIOD: GPIOD,
2260 pub GPIOE: GPIOE,
2262 pub GPIOF: GPIOF,
2264 pub GPIOG: GPIOG,
2266 pub SEC_GPIOC: SEC_GPIOC,
2268 pub SEC_GPIOD: SEC_GPIOD,
2270 pub SEC_GPIOE: SEC_GPIOE,
2272 pub SEC_GPIOF: SEC_GPIOF,
2274 pub SEC_GPIOG: SEC_GPIOG,
2276 pub GPIOH: GPIOH,
2278 pub SEC_GPIOH: SEC_GPIOH,
2280 pub GTZC_MPCBB1: GTZC_MPCBB1,
2282 pub SEC_GTZC_MPCBB1: SEC_GTZC_MPCBB1,
2284 pub GTZC_MPCBB2: GTZC_MPCBB2,
2286 pub SEC_GTZC_MPCBB2: SEC_GTZC_MPCBB2,
2288 pub GTZC_TZIC: GTZC_TZIC,
2290 pub SEC_GTZC_TZIC: SEC_GTZC_TZIC,
2292 pub GTZC_TZSC: GTZC_TZSC,
2294 pub SEC_GTZC_TZSC: SEC_GTZC_TZSC,
2296 pub HASH: HASH,
2298 pub SEC_HASH: SEC_HASH,
2300 pub I2C1: I2C1,
2302 pub I2C2: I2C2,
2304 pub I2C3: I2C3,
2306 pub I2C4: I2C4,
2308 pub SEC_I2C1: SEC_I2C1,
2310 pub SEC_I2C2: SEC_I2C2,
2312 pub SEC_I2C3: SEC_I2C3,
2314 pub SEC_I2C4: SEC_I2C4,
2316 pub ICACHE: ICACHE,
2318 pub SEC_ICACHE: SEC_ICACHE,
2320 pub IWDG: IWDG,
2322 pub SEC_IWDG: SEC_IWDG,
2324 pub LPTIM1: LPTIM1,
2326 pub LPTIM2: LPTIM2,
2328 pub LPTIM3: LPTIM3,
2330 pub SEC_LPTIM1: SEC_LPTIM1,
2332 pub SEC_LPTIM2: SEC_LPTIM2,
2334 pub SEC_LPTIM3: SEC_LPTIM3,
2336 pub LPUART1: LPUART1,
2338 pub SEC_LPUART1: SEC_LPUART1,
2340 pub OCTOSPI1: OCTOSPI1,
2342 pub SEC_OCTOSPI1: SEC_OCTOSPI1,
2344 pub OPAMP: OPAMP,
2346 pub SEC_OPAMP: SEC_OPAMP,
2348 pub OTFDEC1: OTFDEC1,
2350 pub SEC_OTFDEC1: SEC_OTFDEC1,
2352 pub PKA: PKA,
2354 pub SEC_PKA: SEC_PKA,
2356 pub PWR: PWR,
2358 pub SEC_PWR: SEC_PWR,
2360 pub RCC: RCC,
2362 pub SEC_RCC: SEC_RCC,
2364 pub RNG: RNG,
2366 pub SEC_RNG: SEC_RNG,
2368 pub RTC: RTC,
2370 pub SEC_RTC: SEC_RTC,
2372 pub SAI1: SAI1,
2374 pub SAI2: SAI2,
2376 pub SEC_SAI1: SEC_SAI1,
2378 pub SEC_SAI2: SEC_SAI2,
2380 pub SDMMC1: SDMMC1,
2382 pub SEC_SDMMC1: SEC_SDMMC1,
2384 pub SPI1: SPI1,
2386 pub SPI2: SPI2,
2388 pub SPI3: SPI3,
2390 pub SEC_SPI1: SEC_SPI1,
2392 pub SEC_SPI2: SEC_SPI2,
2394 pub SEC_SPI3: SEC_SPI3,
2396 pub SYSCFG: SYSCFG,
2398 pub SEC_SYSCFG: SEC_SYSCFG,
2400 pub TAMP: TAMP,
2402 pub SEC_TAMP: SEC_TAMP,
2404 pub TIM1: TIM1,
2406 pub SEC_TIM1: SEC_TIM1,
2408 pub TIM2: TIM2,
2410 pub SEC_TIM2: SEC_TIM2,
2412 pub TIM3: TIM3,
2414 pub SEC_TIM3: SEC_TIM3,
2416 pub TIM4: TIM4,
2418 pub SEC_TIM4: SEC_TIM4,
2420 pub TIM5: TIM5,
2422 pub SEC_TIM5: SEC_TIM5,
2424 pub TIM6: TIM6,
2426 pub SEC_TIM6: SEC_TIM6,
2428 pub TIM7: TIM7,
2430 pub SEC_TIM7: SEC_TIM7,
2432 pub TIM15: TIM15,
2434 pub SEC_TIM15: SEC_TIM15,
2436 pub TIM16: TIM16,
2438 pub SEC_TIM16: SEC_TIM16,
2440 pub TIM17: TIM17,
2442 pub SEC_TIM17: SEC_TIM17,
2444 pub TIM8: TIM8,
2446 pub SEC_TIM8: SEC_TIM8,
2448 pub TSC: TSC,
2450 pub SEC_TSC: SEC_TSC,
2452 pub USB: USB,
2454 pub SEC_USB: SEC_USB,
2456 pub UCPD1: UCPD1,
2458 pub SEC_UCPD1: SEC_UCPD1,
2460 pub USART1: USART1,
2462 pub SEC_USART1: SEC_USART1,
2464 pub USART2: USART2,
2466 pub SEC_USART2: SEC_USART2,
2468 pub USART3: USART3,
2470 pub SEC_USART3: SEC_USART3,
2472 pub UART4: UART4,
2474 pub UART5: UART5,
2476 pub SEC_UART4: SEC_UART4,
2478 pub SEC_UART5: SEC_UART5,
2480 pub VREFBUF: VREFBUF,
2482 pub SEC_VREFBUF: SEC_VREFBUF,
2484 pub WWDG: WWDG,
2486 pub SEC_WWDG: SEC_WWDG,
2488}
2489impl Peripherals {
2490 #[cfg(feature = "critical-section")]
2492 #[inline]
2493 pub fn take() -> Option<Self> {
2494 critical_section::with(|_| {
2495 if unsafe { DEVICE_PERIPHERALS } {
2496 return None;
2497 }
2498 Some(unsafe { Peripherals::steal() })
2499 })
2500 }
2501 #[inline]
2507 pub unsafe fn steal() -> Self {
2508 DEVICE_PERIPHERALS = true;
2509 Peripherals {
2510 ADC1: ADC1::steal(),
2511 SEC_ADC1: SEC_ADC1::steal(),
2512 ADC2: ADC2::steal(),
2513 SEC_ADC2: SEC_ADC2::steal(),
2514 ADC_COMMON: ADC_COMMON::steal(),
2515 SEC_ADC_COMMON: SEC_ADC_COMMON::steal(),
2516 AES: AES::steal(),
2517 SEC_AES: SEC_AES::steal(),
2518 COMP: COMP::steal(),
2519 SEC_COMP: SEC_COMP::steal(),
2520 CRC: CRC::steal(),
2521 SEC_CRC: SEC_CRC::steal(),
2522 CRS: CRS::steal(),
2523 SEC_CRS: SEC_CRS::steal(),
2524 DAC: DAC::steal(),
2525 SEC_DAC: SEC_DAC::steal(),
2526 DBGMCU: DBGMCU::steal(),
2527 DMA1: DMA1::steal(),
2528 SEC_DMA1: SEC_DMA1::steal(),
2529 DMA2: DMA2::steal(),
2530 SEC_DMA2: SEC_DMA2::steal(),
2531 DFSDM1: DFSDM1::steal(),
2532 SEC_DFSDM1: SEC_DFSDM1::steal(),
2533 DMAMUX1: DMAMUX1::steal(),
2534 SEC_DMAMUX1: SEC_DMAMUX1::steal(),
2535 EXTI: EXTI::steal(),
2536 SEC_EXTI: SEC_EXTI::steal(),
2537 FDCAN1: FDCAN1::steal(),
2538 SEC_FDCAN1: SEC_FDCAN1::steal(),
2539 FLASH: FLASH::steal(),
2540 SEC_FLASH: SEC_FLASH::steal(),
2541 FMC: FMC::steal(),
2542 SEC_FMC: SEC_FMC::steal(),
2543 GPIOA: GPIOA::steal(),
2544 SEC_GPIOA: SEC_GPIOA::steal(),
2545 GPIOB: GPIOB::steal(),
2546 SEC_GPIOB: SEC_GPIOB::steal(),
2547 GPIOC: GPIOC::steal(),
2548 GPIOD: GPIOD::steal(),
2549 GPIOE: GPIOE::steal(),
2550 GPIOF: GPIOF::steal(),
2551 GPIOG: GPIOG::steal(),
2552 SEC_GPIOC: SEC_GPIOC::steal(),
2553 SEC_GPIOD: SEC_GPIOD::steal(),
2554 SEC_GPIOE: SEC_GPIOE::steal(),
2555 SEC_GPIOF: SEC_GPIOF::steal(),
2556 SEC_GPIOG: SEC_GPIOG::steal(),
2557 GPIOH: GPIOH::steal(),
2558 SEC_GPIOH: SEC_GPIOH::steal(),
2559 GTZC_MPCBB1: GTZC_MPCBB1::steal(),
2560 SEC_GTZC_MPCBB1: SEC_GTZC_MPCBB1::steal(),
2561 GTZC_MPCBB2: GTZC_MPCBB2::steal(),
2562 SEC_GTZC_MPCBB2: SEC_GTZC_MPCBB2::steal(),
2563 GTZC_TZIC: GTZC_TZIC::steal(),
2564 SEC_GTZC_TZIC: SEC_GTZC_TZIC::steal(),
2565 GTZC_TZSC: GTZC_TZSC::steal(),
2566 SEC_GTZC_TZSC: SEC_GTZC_TZSC::steal(),
2567 HASH: HASH::steal(),
2568 SEC_HASH: SEC_HASH::steal(),
2569 I2C1: I2C1::steal(),
2570 I2C2: I2C2::steal(),
2571 I2C3: I2C3::steal(),
2572 I2C4: I2C4::steal(),
2573 SEC_I2C1: SEC_I2C1::steal(),
2574 SEC_I2C2: SEC_I2C2::steal(),
2575 SEC_I2C3: SEC_I2C3::steal(),
2576 SEC_I2C4: SEC_I2C4::steal(),
2577 ICACHE: ICACHE::steal(),
2578 SEC_ICACHE: SEC_ICACHE::steal(),
2579 IWDG: IWDG::steal(),
2580 SEC_IWDG: SEC_IWDG::steal(),
2581 LPTIM1: LPTIM1::steal(),
2582 LPTIM2: LPTIM2::steal(),
2583 LPTIM3: LPTIM3::steal(),
2584 SEC_LPTIM1: SEC_LPTIM1::steal(),
2585 SEC_LPTIM2: SEC_LPTIM2::steal(),
2586 SEC_LPTIM3: SEC_LPTIM3::steal(),
2587 LPUART1: LPUART1::steal(),
2588 SEC_LPUART1: SEC_LPUART1::steal(),
2589 OCTOSPI1: OCTOSPI1::steal(),
2590 SEC_OCTOSPI1: SEC_OCTOSPI1::steal(),
2591 OPAMP: OPAMP::steal(),
2592 SEC_OPAMP: SEC_OPAMP::steal(),
2593 OTFDEC1: OTFDEC1::steal(),
2594 SEC_OTFDEC1: SEC_OTFDEC1::steal(),
2595 PKA: PKA::steal(),
2596 SEC_PKA: SEC_PKA::steal(),
2597 PWR: PWR::steal(),
2598 SEC_PWR: SEC_PWR::steal(),
2599 RCC: RCC::steal(),
2600 SEC_RCC: SEC_RCC::steal(),
2601 RNG: RNG::steal(),
2602 SEC_RNG: SEC_RNG::steal(),
2603 RTC: RTC::steal(),
2604 SEC_RTC: SEC_RTC::steal(),
2605 SAI1: SAI1::steal(),
2606 SAI2: SAI2::steal(),
2607 SEC_SAI1: SEC_SAI1::steal(),
2608 SEC_SAI2: SEC_SAI2::steal(),
2609 SDMMC1: SDMMC1::steal(),
2610 SEC_SDMMC1: SEC_SDMMC1::steal(),
2611 SPI1: SPI1::steal(),
2612 SPI2: SPI2::steal(),
2613 SPI3: SPI3::steal(),
2614 SEC_SPI1: SEC_SPI1::steal(),
2615 SEC_SPI2: SEC_SPI2::steal(),
2616 SEC_SPI3: SEC_SPI3::steal(),
2617 SYSCFG: SYSCFG::steal(),
2618 SEC_SYSCFG: SEC_SYSCFG::steal(),
2619 TAMP: TAMP::steal(),
2620 SEC_TAMP: SEC_TAMP::steal(),
2621 TIM1: TIM1::steal(),
2622 SEC_TIM1: SEC_TIM1::steal(),
2623 TIM2: TIM2::steal(),
2624 SEC_TIM2: SEC_TIM2::steal(),
2625 TIM3: TIM3::steal(),
2626 SEC_TIM3: SEC_TIM3::steal(),
2627 TIM4: TIM4::steal(),
2628 SEC_TIM4: SEC_TIM4::steal(),
2629 TIM5: TIM5::steal(),
2630 SEC_TIM5: SEC_TIM5::steal(),
2631 TIM6: TIM6::steal(),
2632 SEC_TIM6: SEC_TIM6::steal(),
2633 TIM7: TIM7::steal(),
2634 SEC_TIM7: SEC_TIM7::steal(),
2635 TIM15: TIM15::steal(),
2636 SEC_TIM15: SEC_TIM15::steal(),
2637 TIM16: TIM16::steal(),
2638 SEC_TIM16: SEC_TIM16::steal(),
2639 TIM17: TIM17::steal(),
2640 SEC_TIM17: SEC_TIM17::steal(),
2641 TIM8: TIM8::steal(),
2642 SEC_TIM8: SEC_TIM8::steal(),
2643 TSC: TSC::steal(),
2644 SEC_TSC: SEC_TSC::steal(),
2645 USB: USB::steal(),
2646 SEC_USB: SEC_USB::steal(),
2647 UCPD1: UCPD1::steal(),
2648 SEC_UCPD1: SEC_UCPD1::steal(),
2649 USART1: USART1::steal(),
2650 SEC_USART1: SEC_USART1::steal(),
2651 USART2: USART2::steal(),
2652 SEC_USART2: SEC_USART2::steal(),
2653 USART3: USART3::steal(),
2654 SEC_USART3: SEC_USART3::steal(),
2655 UART4: UART4::steal(),
2656 UART5: UART5::steal(),
2657 SEC_UART4: SEC_UART4::steal(),
2658 SEC_UART5: SEC_UART5::steal(),
2659 VREFBUF: VREFBUF::steal(),
2660 SEC_VREFBUF: SEC_VREFBUF::steal(),
2661 WWDG: WWDG::steal(),
2662 SEC_WWDG: SEC_WWDG::steal(),
2663 }
2664 }
2665}