From e397f05894e4b1cdd27b0da7665a7628c2149040 Mon Sep 17 00:00:00 2001 From: Damien Nicolet Date: Wed, 7 Nov 2018 00:45:49 +0100 Subject: [PATCH] [ion] Documenting systick counter reload value --- ion/src/device/device.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ion/src/device/device.cpp b/ion/src/device/device.cpp index da42108ed..9aaddae1c 100644 --- a/ion/src/device/device.cpp +++ b/ion/src/device/device.cpp @@ -201,6 +201,9 @@ void initPeripherals() { Console::Device::init(); SWD::Device::init(); + // CPU clock is 96 MHz, and systick clock source is divided by 8 + // To get 1 ms systick overflow we need to reset it to + // 96 000 000 (Hz) / 8 / 1 000 (ms/s) - 1 (because the counter resets *after* counting to 0) CM4.SYST_RVR()->setRELOAD(11999); CM4.SYST_CVR()->setCURRENT(0); CM4.SYST_CSR()->setCLKSOURCE(CM4::SYST_CSR::CLKSOURCE::AHB_DIV8);