Updated based on feedback

This commit is contained in:
Michael Medin 2025-04-24 10:54:35 +02:00
parent 6842ced7cb
commit b2c32a947e

View File

@ -222,6 +222,7 @@ pub(crate) use stm32_metapac as pac;
use crate::interrupt::Priority; use crate::interrupt::Priority;
#[cfg(feature = "rt")] #[cfg(feature = "rt")]
pub use crate::pac::NVIC_PRIO_BITS; pub use crate::pac::NVIC_PRIO_BITS;
use critical_section::CriticalSection;
/// `embassy-stm32` global configuration. /// `embassy-stm32` global configuration.
#[non_exhaustive] #[non_exhaustive]
@ -600,17 +601,7 @@ fn init_hw(config: Config) -> Peripherals {
#[cfg(feature = "exti")] #[cfg(feature = "exti")]
exti::init(cs); exti::init(cs);
rcc::init(config.rcc); init_rcc(cs, config.rcc);
// must be after rcc init
#[cfg(feature = "_time-driver")]
time_driver::init(cs);
#[cfg(feature = "low-power")]
{
crate::rcc::REFCOUNT_STOP2 = 0;
crate::rcc::REFCOUNT_STOP1 = 0;
}
} }
p p
@ -626,10 +617,14 @@ fn init_hw(config: Config) -> Peripherals {
/// ///
/// This should only be called after `init`. /// This should only be called after `init`.
#[cfg(not(feature = "_dual-core"))] #[cfg(not(feature = "_dual-core"))]
pub fn reinitialize_rcc(config: Config) { pub fn reinit(config: rcc::Config) {
critical_section::with(|_cs| { critical_section::with(|cs| init_rcc(cs, config))
}
#[cfg(not(feature = "_dual-core"))]
fn init_rcc(_cs: CriticalSection, config: rcc::Config) {
unsafe { unsafe {
rcc::init(config.rcc); rcc::init(config);
// must be after rcc init // must be after rcc init
#[cfg(feature = "_time-driver")] #[cfg(feature = "_time-driver")]
@ -641,5 +636,4 @@ pub fn reinitialize_rcc(config: Config) {
crate::rcc::REFCOUNT_STOP1 = 0; crate::rcc::REFCOUNT_STOP1 = 0;
} }
} }
})
} }