embed: add shutdown function to fatal_error

pull/25/head
Pavol Rusnak 7 years ago
parent 5ea75b469f
commit b60a1ad79f
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -4,8 +4,9 @@
#include "display.h"
#include "rng.h"
void shutdown(void);
void __attribute__((noreturn)) __fatal_error(const char *expr, const char *msg, const char *file, int line, const char *func) {
for (volatile uint32_t delay = 0; delay < 10000000; delay++) {}
display_orientation(0);
display_backlight(255);
display_print_color(COLOR_WHITE, COLOR_RED128);
@ -27,6 +28,7 @@ void __attribute__((noreturn)) __fatal_error(const char *expr, const char *msg,
#define STR(s) #s
display_printf("rev : %s\n", XSTR(GITREV));
#endif
shutdown();
for (;;);
}

@ -62,4 +62,33 @@ jump_to:
ldr r12, =0
bx r0
.global shutdown
.type shutdown, STT_FUNC
shutdown:
cpsid f
ldr r0, =ccmram_start
ldr r1, =ccmram_end
ldr r2, =0
bl memset_reg
ldr r0, =sram_start
ldr r1, =sram_end
ldr r2, =0
bl memset_reg
ldr lr, =0xffffffff
ldr r0, =0
ldr r1, =0
ldr r2, =0
ldr r3, =0
ldr r4, =0
ldr r5, =0
ldr r6, =0
ldr r7, =0
ldr r8, =0
ldr r9, =0
ldr r10, =0
ldr r11, =0
ldr r12, =0
b . // loop forever
.end

Loading…
Cancel
Save