Disable interrupts in early() (#641)
* Disable interrupts in early() * enable interrupts before going into DFU modemaster
parent
a65c45d5e7
commit
9a82ba3892
|
@ -12,6 +12,7 @@ void jump_to_bootloader(void) {
|
||||||
void (*bootloader)(void) = (void (*)(void)) (*((uint32_t *)0x1fff0004));
|
void (*bootloader)(void) = (void (*)(void)) (*((uint32_t *)0x1fff0004));
|
||||||
|
|
||||||
// jump to bootloader
|
// jump to bootloader
|
||||||
|
enable_interrupts();
|
||||||
bootloader();
|
bootloader();
|
||||||
|
|
||||||
// reset on exit
|
// reset on exit
|
||||||
|
@ -21,14 +22,12 @@ void jump_to_bootloader(void) {
|
||||||
|
|
||||||
void early(void) {
|
void early(void) {
|
||||||
// Reset global critical depth
|
// Reset global critical depth
|
||||||
|
disable_interrupts();
|
||||||
global_critical_depth = 0;
|
global_critical_depth = 0;
|
||||||
|
|
||||||
// Init register and interrupt tables
|
// Init register and interrupt tables
|
||||||
init_registers();
|
init_registers();
|
||||||
|
|
||||||
// neccesary for DFU flashing on a non-power cycled white panda
|
|
||||||
enable_interrupts();
|
|
||||||
|
|
||||||
// after it's been in the bootloader, things are initted differently, so we reset
|
// after it's been in the bootloader, things are initted differently, so we reset
|
||||||
if ((enter_bootloader_mode != BOOT_NORMAL) &&
|
if ((enter_bootloader_mode != BOOT_NORMAL) &&
|
||||||
(enter_bootloader_mode != ENTER_BOOTLOADER_MAGIC) &&
|
(enter_bootloader_mode != ENTER_BOOTLOADER_MAGIC) &&
|
||||||
|
|
Loading…
Reference in New Issue