Updated based on feedback
This commit is contained in:
parent
6842ced7cb
commit
b2c32a947e
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user