summaryrefslogtreecommitdiff
path: root/ports/stm32/sdram.c
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-07-06 21:26:42 +1000
committerDamien George <damien@micropython.org>2022-07-08 23:47:29 +1000
commit9af6a275dd2bbb8a815e27e1e61c3f4547a44da0 (patch)
treed03715c47bdf29f1bcdbcb231d065d55e82bec1c /ports/stm32/sdram.c
parent9f8087b448890417d5aa86551957a2100616bb8e (diff)
stm32/boardctrl: Allow boards to override fatal-error handler.
To override it a board must define MICROPY_BOARD_FATAL_ERROR to a function that takes a string message and does not return. Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'ports/stm32/sdram.c')
-rw-r--r--ports/stm32/sdram.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/ports/stm32/sdram.c b/ports/stm32/sdram.c
index 4ca79f270..65a949770 100644
--- a/ports/stm32/sdram.c
+++ b/ports/stm32/sdram.c
@@ -50,7 +50,6 @@
#ifdef FMC_SDRAM_BANK
static void sdram_init_seq(SDRAM_HandleTypeDef *hsdram, FMC_SDRAM_CommandTypeDef *command);
-extern void __fatal_error(const char *msg);
bool sdram_init(void) {
SDRAM_HandleTypeDef hsdram;
@@ -325,7 +324,7 @@ bool __attribute__((optimize("Os"))) sdram_test(bool exhaustive) {
snprintf(error_buffer, sizeof(error_buffer),
"Data bus test failed at 0x%p expected 0x%x found 0x%lx",
&mem_base[0], (1 << i), ((volatile uint32_t *)mem_base)[0]);
- __fatal_error(error_buffer);
+ MICROPY_BOARD_FATAL_ERROR(error_buffer);
#endif
return false;
}
@@ -340,7 +339,7 @@ bool __attribute__((optimize("Os"))) sdram_test(bool exhaustive) {
snprintf(error_buffer, sizeof(error_buffer),
"Address bus test failed at 0x%p expected 0x%x found 0x%x",
&mem_base[i], pattern, mem_base[i]);
- __fatal_error(error_buffer);
+ MICROPY_BOARD_FATAL_ERROR(error_buffer);
#endif
return false;
}
@@ -355,7 +354,7 @@ bool __attribute__((optimize("Os"))) sdram_test(bool exhaustive) {
snprintf(error_buffer, sizeof(error_buffer),
"Address bus overlap at 0x%p expected 0x%x found 0x%x",
&mem_base[i], pattern, mem_base[i]);
- __fatal_error(error_buffer);
+ MICROPY_BOARD_FATAL_ERROR(error_buffer);
#endif
return false;
}
@@ -376,7 +375,7 @@ bool __attribute__((optimize("Os"))) sdram_test(bool exhaustive) {
snprintf(error_buffer, sizeof(error_buffer),
"Address bus slow test failed at 0x%p expected 0x%x found 0x%x",
&mem_base[i], ((i % 2) ? pattern : antipattern), mem_base[i]);
- __fatal_error(error_buffer);
+ MICROPY_BOARD_FATAL_ERROR(error_buffer);
#endif
return false;
}