1#![no_std]
10
11pub mod chip;
12pub mod chip_specific;
13pub mod nvic;
14
15pub mod adc;
17pub mod can;
18pub mod dac;
19pub mod dbg;
20pub mod dma;
21pub mod exti;
22pub mod flash;
23pub mod fsmc;
24pub mod gpio;
25pub mod i2c;
26pub mod rcc;
27pub mod spi;
28pub mod syscfg;
29pub mod tim2;
30pub mod trng;
31pub mod usart;
32
33pub mod clocks;
35
36use cortexm4f::{initialize_ram_jump_to_main, unhandled_interrupt, CortexM4F, CortexMVariant};
37
38extern "C" {
39 fn _estack();
42}
43
44#[cfg_attr(
45 all(target_arch = "arm", target_os = "none"),
46 link_section = ".vectors"
47)]
48#[cfg_attr(all(target_arch = "arm", target_os = "none"), used)]
50pub static BASE_VECTORS: [unsafe extern "C" fn(); 16] = [
51 _estack,
52 initialize_ram_jump_to_main,
53 unhandled_interrupt, CortexM4F::HARD_FAULT_HANDLER, unhandled_interrupt, unhandled_interrupt, unhandled_interrupt, unhandled_interrupt,
59 unhandled_interrupt,
60 unhandled_interrupt,
61 unhandled_interrupt,
62 CortexM4F::SVC_HANDLER, unhandled_interrupt, unhandled_interrupt,
65 unhandled_interrupt, CortexM4F::SYSTICK_HANDLER, ];
68
69pub unsafe fn init() {
70 cortexm4f::nvic::disable_all();
71 cortexm4f::nvic::clear_all_pending();
72 cortexm4f::nvic::enable_all();
73}