aboutsummaryrefslogtreecommitdiffstats
path: root/src/stm32/stm32f0.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-10-24 11:35:18 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-10-24 11:35:18 -0400
commit9a11286327b877971367676616347ba767e96ba1 (patch)
tree9011b0d9768e60b7f90e1504f780b18182ee9742 /src/stm32/stm32f0.c
parentfaeaa54925e0a6fa197c48faf6317a86824f64d7 (diff)
downloadkutter-9a11286327b877971367676616347ba767e96ba1.tar.gz
kutter-9a11286327b877971367676616347ba767e96ba1.tar.xz
kutter-9a11286327b877971367676616347ba767e96ba1.zip
stm32: Implement armcm_main() in arch specific code
Move armcm_main() to stm32f0.c, stm32f1.c, and stm32f4.c. This gives the arch specific code more control on the early boot setup. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/stm32/stm32f0.c')
-rw-r--r--src/stm32/stm32f0.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/stm32/stm32f0.c b/src/stm32/stm32f0.c
index 2c6958a9..8f1361a3 100644
--- a/src/stm32/stm32f0.c
+++ b/src/stm32/stm32f0.c
@@ -5,8 +5,10 @@
// This file may be distributed under the terms of the GNU GPLv3 license.
#include "autoconf.h" // CONFIG_CLOCK_REF_8M
+#include "board/armcm_boot.h" // armcm_main
#include "command.h" // DECL_CONSTANT_STR
#include "internal.h" // enable_pclock
+#include "sched.h" // sched_main
#define FREQ_PERIPH 48000000
@@ -147,10 +149,12 @@ hsi48_setup(void)
#endif
}
-// Main clock setup called at chip startup
+// Main entry point - called from armcm_boot.c:ResetHandler()
void
-clock_setup(void)
+armcm_main(void)
{
+ SystemInit();
+
// Set flash latency
FLASH->ACR = (1 << FLASH_ACR_LATENCY_Pos) | FLASH_ACR_PRFTBE;
@@ -167,4 +171,6 @@ clock_setup(void)
SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP;
}
#endif
+
+ sched_main();
}