aboutsummaryrefslogtreecommitdiffstats
path: root/src/generic/armcm_boot.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2019-10-24 11:07:52 -0400
committerKevin O'Connor <kevin@koconnor.net>2019-10-24 11:16:10 -0400
commitfaeaa54925e0a6fa197c48faf6317a86824f64d7 (patch)
treee8679d9af4998068d5fc721c0fc9d2f1e55145f4 /src/generic/armcm_boot.c
parent632ff9e55adced3f055b0926a32cff0b53a7bd0e (diff)
downloadkutter-faeaa54925e0a6fa197c48faf6317a86824f64d7.tar.gz
kutter-faeaa54925e0a6fa197c48faf6317a86824f64d7.tar.xz
kutter-faeaa54925e0a6fa197c48faf6317a86824f64d7.zip
armcm_boot: Use armcm_main() instead of main() to start board code
The main() function has a special meaning to gcc and using it can result in different code generation. Use armcm_main() to avoid that. Also, invoke SystemInit() from the board specific armcm_main() code. This gives the board code more control over board initialization. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/generic/armcm_boot.c')
-rw-r--r--src/generic/armcm_boot.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/generic/armcm_boot.c b/src/generic/armcm_boot.c
index ad7461ca..261fb912 100644
--- a/src/generic/armcm_boot.c
+++ b/src/generic/armcm_boot.c
@@ -6,8 +6,8 @@
#include "armcm_boot.h" // DECL_ARMCM_IRQ
#include "autoconf.h" // CONFIG_MCU
-#include "board/internal.h" // SystemInit
#include "command.h" // DECL_CONSTANT_STR
+#include "misc.h" // dynmem_start
// Export MCU type
DECL_CONSTANT_STR("MCU", CONFIG_MCU);
@@ -37,14 +37,10 @@ ResetHandler(void)
// Initializing the C library isn't needed...
//__libc_init_array();
- // Initialize the machine
- SystemInit();
+ // Run the main board specific code
+ armcm_main();
- // Run the main code
- extern int main(void);
- main();
-
- // The main() call should not return
+ // The armcm_main() call should not return
for (;;)
;
}