diff --git a/boards/nucleo_f429zi/src/main.rs b/boards/nucleo_f429zi/src/main.rs index a97147e350..cd52f4bf58 100644 --- a/boards/nucleo_f429zi/src/main.rs +++ b/boards/nucleo_f429zi/src/main.rs @@ -24,6 +24,7 @@ use kernel::scheduler::round_robin::RoundRobinSched; use kernel::{create_capability, debug, static_init}; use stm32f429zi::chip_specs::Stm32f429Specs; +use stm32f429zi::clocks::hsi::HSI_FREQUENCY_MHZ; use stm32f429zi::gpio::{AlternateFunction, Mode, PinId, PortId}; use stm32f429zi::interrupt_service::Stm32f429ziDefaultPeripherals; @@ -663,7 +664,9 @@ unsafe fn start() -> ( rng, scheduler, - systick: cortexm4::systick::SysTick::new(), + systick: cortexm4::systick::SysTick::new_with_calibration( + (HSI_FREQUENCY_MHZ * 1_000_000) as u32, + ), can, date_time, }; diff --git a/boards/nucleo_f446re/src/main.rs b/boards/nucleo_f446re/src/main.rs index ee24c206b6..11276e7c76 100644 --- a/boards/nucleo_f446re/src/main.rs +++ b/boards/nucleo_f446re/src/main.rs @@ -24,6 +24,7 @@ use kernel::platform::{KernelResources, SyscallDriverLookup}; use kernel::scheduler::round_robin::RoundRobinSched; use kernel::{create_capability, debug, static_init}; use stm32f446re::chip_specs::Stm32f446Specs; +use stm32f446re::clocks::hsi::HSI_FREQUENCY_MHZ; use stm32f446re::gpio::{AlternateFunction, Mode, PinId, PortId}; use stm32f446re::interrupt_service::Stm32f446reDefaultPeripherals; @@ -507,7 +508,9 @@ unsafe fn start() -> ( gpio, scheduler, - systick: cortexm4::systick::SysTick::new(), + systick: cortexm4::systick::SysTick::new_with_calibration( + (HSI_FREQUENCY_MHZ * 1_000_000) as u32, + ), }; // // Optional kernel tests diff --git a/boards/stm32f3discovery/src/main.rs b/boards/stm32f3discovery/src/main.rs index b8eab2950b..872e715f30 100644 --- a/boards/stm32f3discovery/src/main.rs +++ b/boards/stm32f3discovery/src/main.rs @@ -806,7 +806,8 @@ unsafe fn start() -> ( nonvolatile_storage, scheduler, - systick: cortexm4::systick::SysTick::new(), + // Systick uses the HSI, which runs at 8MHz + systick: cortexm4::systick::SysTick::new_with_calibration(8_000_000), watchdog: &peripherals.watchdog, }; diff --git a/boards/stm32f412gdiscovery/src/main.rs b/boards/stm32f412gdiscovery/src/main.rs index acecf89583..2d8c75520f 100644 --- a/boards/stm32f412gdiscovery/src/main.rs +++ b/boards/stm32f412gdiscovery/src/main.rs @@ -25,6 +25,7 @@ use kernel::platform::{KernelResources, SyscallDriverLookup}; use kernel::scheduler::round_robin::RoundRobinSched; use kernel::{create_capability, debug, static_init}; use stm32f412g::chip_specs::Stm32f412Specs; +use stm32f412g::clocks::hsi::HSI_FREQUENCY_MHZ; use stm32f412g::interrupt_service::Stm32f412gDefaultPeripherals; /// Support routines for debugging I/O. @@ -766,7 +767,9 @@ unsafe fn start() -> ( rng, scheduler, - systick: cortexm4::systick::SysTick::new(), + systick: cortexm4::systick::SysTick::new_with_calibration( + (HSI_FREQUENCY_MHZ * 1_000_000) as u32, + ), }; // // Optional kernel tests diff --git a/boards/stm32f429idiscovery/src/main.rs b/boards/stm32f429idiscovery/src/main.rs index 44e1b90dd5..1bdd856f0f 100644 --- a/boards/stm32f429idiscovery/src/main.rs +++ b/boards/stm32f429idiscovery/src/main.rs @@ -24,6 +24,7 @@ use kernel::scheduler::round_robin::RoundRobinSched; use kernel::{create_capability, debug, static_init}; use stm32f429zi::chip_specs::Stm32f429Specs; +use stm32f429zi::clocks::hsi::HSI_FREQUENCY_MHZ; use stm32f429zi::gpio::{AlternateFunction, Mode, PinId, PortId}; use stm32f429zi::interrupt_service::Stm32f429ziDefaultPeripherals; @@ -591,7 +592,9 @@ unsafe fn start() -> ( gpio, scheduler, - systick: cortexm4::systick::SysTick::new(), + systick: cortexm4::systick::SysTick::new_with_calibration( + (HSI_FREQUENCY_MHZ * 1_000_000) as u32, + ), }; // // Optional kernel tests diff --git a/boards/weact_f401ccu6/src/main.rs b/boards/weact_f401ccu6/src/main.rs index a0ce19683c..048a4645d3 100644 --- a/boards/weact_f401ccu6/src/main.rs +++ b/boards/weact_f401ccu6/src/main.rs @@ -24,6 +24,7 @@ use kernel::scheduler::round_robin::RoundRobinSched; use kernel::{create_capability, debug, static_init}; use stm32f401cc::chip_specs::Stm32f401Specs; +use stm32f401cc::clocks::hsi::HSI_FREQUENCY_MHZ; use stm32f401cc::interrupt_service::Stm32f401ccDefaultPeripherals; /// Support routines for debugging I/O. @@ -448,7 +449,9 @@ unsafe fn start() -> ( alarm, gpio, scheduler, - systick: cortexm4::systick::SysTick::new(), + systick: cortexm4::systick::SysTick::new_with_calibration( + (HSI_FREQUENCY_MHZ * 1_000_000) as u32, + ), }; debug!("Initialization complete. Entering main loop");