diff options
| author | Damien George <damien@micropython.org> | 2022-07-06 21:26:42 +1000 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2022-07-08 23:47:29 +1000 |
| commit | 9af6a275dd2bbb8a815e27e1e61c3f4547a44da0 (patch) | |
| tree | d03715c47bdf29f1bcdbcb231d065d55e82bec1c /ports/stm32/sdram.c | |
| parent | 9f8087b448890417d5aa86551957a2100616bb8e (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.c | 9 |
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; } |
