mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-06-28 19:02:34 +00:00
embed: add shutdown function to fatal_error
This commit is contained in:
parent
5ea75b469f
commit
b60a1ad79f
@ -4,8 +4,9 @@
|
|||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "rng.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) {
|
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_orientation(0);
|
||||||
display_backlight(255);
|
display_backlight(255);
|
||||||
display_print_color(COLOR_WHITE, COLOR_RED128);
|
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
|
#define STR(s) #s
|
||||||
display_printf("rev : %s\n", XSTR(GITREV));
|
display_printf("rev : %s\n", XSTR(GITREV));
|
||||||
#endif
|
#endif
|
||||||
|
shutdown();
|
||||||
for (;;);
|
for (;;);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,4 +62,33 @@ jump_to:
|
|||||||
ldr r12, =0
|
ldr r12, =0
|
||||||
bx r0
|
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
|
.end
|
||||||
|
Loading…
Reference in New Issue
Block a user