diff options
Diffstat (limited to 'tmk_core/common/chibios/bootloader.c')
| -rw-r--r-- | tmk_core/common/chibios/bootloader.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tmk_core/common/chibios/bootloader.c b/tmk_core/common/chibios/bootloader.c index 2dd3ade34e..f9895237b9 100644 --- a/tmk_core/common/chibios/bootloader.c +++ b/tmk_core/common/chibios/bootloader.c | |||
| @@ -13,11 +13,19 @@ extern uint32_t __ram0_end__; | |||
| 13 | #define MAGIC_ADDR (unsigned long*)(SYMVAL(__ram0_end__) - 4) | 13 | #define MAGIC_ADDR (unsigned long*)(SYMVAL(__ram0_end__) - 4) |
| 14 | 14 | ||
| 15 | 15 | ||
| 16 | /** \brief Jump to the bootloader | ||
| 17 | * | ||
| 18 | * FIXME: needs doc | ||
| 19 | */ | ||
| 16 | void bootloader_jump(void) { | 20 | void bootloader_jump(void) { |
| 17 | *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader | 21 | *MAGIC_ADDR = BOOTLOADER_MAGIC; // set magic flag => reset handler will jump into boot loader |
| 18 | NVIC_SystemReset(); | 22 | NVIC_SystemReset(); |
| 19 | } | 23 | } |
| 20 | 24 | ||
| 25 | /** \brief Enter bootloader mode if requested | ||
| 26 | * | ||
| 27 | * FIXME: needs doc | ||
| 28 | */ | ||
| 21 | void enter_bootloader_mode_if_requested(void) { | 29 | void enter_bootloader_mode_if_requested(void) { |
| 22 | unsigned long* check = MAGIC_ADDR; | 30 | unsigned long* check = MAGIC_ADDR; |
| 23 | if(*check == BOOTLOADER_MAGIC) { | 31 | if(*check == BOOTLOADER_MAGIC) { |
