diff options
| author | skullydazed <skullydazed@users.noreply.github.com> | 2017-09-29 16:17:30 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-29 16:17:30 -0700 |
| commit | 5fd68266f5d90b2c7045f44f678d71b782907752 (patch) | |
| tree | 443e70a3f0dcebadd39a0c96857130546cc690a7 /tmk_core/common/chibios/bootloader.c | |
| parent | b736f25e85171fceb06f01cf45a45f84dd0a4911 (diff) | |
| download | qmk_firmware-5fd68266f5d90b2c7045f44f678d71b782907752.tar.gz qmk_firmware-5fd68266f5d90b2c7045f44f678d71b782907752.zip | |
Clueboard 60% support (#1746)
* initial clueboard_60 support
* LED lighting support
* fix the clueboard->clueboard_66 rename
* Add layout support to clueboard_60
* Fix the 60_iso layout so it's actually iso
* add a default keymap for AEK layout
* fix clueboard_17
* Fixup the ISO layouts
* Fix the `wait_ms()/wait_us()` definitions for chibios
* Fix up the wait_ms/wait_us hack. Reduce stack size.
* Add a missing #include "wait.h"
* commit files that should have already been comitted
Diffstat (limited to 'tmk_core/common/chibios/bootloader.c')
| -rw-r--r-- | tmk_core/common/chibios/bootloader.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tmk_core/common/chibios/bootloader.c b/tmk_core/common/chibios/bootloader.c index 8a533ab6f..fc17fca1b 100644 --- a/tmk_core/common/chibios/bootloader.c +++ b/tmk_core/common/chibios/bootloader.c | |||
| @@ -16,6 +16,19 @@ void bootloader_jump(void) { | |||
| 16 | NVIC_SystemReset(); | 16 | NVIC_SystemReset(); |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | #elif defined(STM32F3XX) | ||
| 20 | /* This code should be checked whether it runs correctly on platforms. | ||
| 21 | * It was added for clueboard60 BUT HAS NOT BEEN TESTED. | ||
| 22 | * FIXME - Test this | ||
| 23 | */ | ||
| 24 | #define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) | ||
| 25 | extern uint32_t __ram0_end__; | ||
| 26 | |||
| 27 | void bootloader_jump(void) { | ||
| 28 | *((unsigned long *)(SYMVAL(__ram0_end__) - 4)) = 0xDEADBEEF; // set magic flag => reset handler will jump into boot loader | ||
| 29 | NVIC_SystemReset(); | ||
| 30 | } | ||
| 31 | |||
| 19 | #else /* defined(STM32F0XX) */ | 32 | #else /* defined(STM32F0XX) */ |
| 20 | #error Check that the bootloader code works on your platform and add it to bootloader.c! | 33 | #error Check that the bootloader code works on your platform and add it to bootloader.c! |
| 21 | #endif /* defined(STM32F0XX) */ | 34 | #endif /* defined(STM32F0XX) */ |
| @@ -35,8 +48,9 @@ void bootloader_jump(void) { | |||
| 35 | 48 | ||
| 36 | #else /* defined(KIIBOHD_BOOTLOADER) */ | 49 | #else /* defined(KIIBOHD_BOOTLOADER) */ |
| 37 | /* Default for Kinetis - expecting an ARM Teensy */ | 50 | /* Default for Kinetis - expecting an ARM Teensy */ |
| 51 | #include "wait.h" | ||
| 38 | void bootloader_jump(void) { | 52 | void bootloader_jump(void) { |
| 39 | chThdSleepMilliseconds(100); | 53 | wait_ms(100); |
| 40 | __BKPT(0); | 54 | __BKPT(0); |
| 41 | } | 55 | } |
| 42 | #endif /* defined(KIIBOHD_BOOTLOADER) */ | 56 | #endif /* defined(KIIBOHD_BOOTLOADER) */ |
| @@ -44,4 +58,4 @@ void bootloader_jump(void) { | |||
| 44 | #else /* neither STM32 nor KINETIS */ | 58 | #else /* neither STM32 nor KINETIS */ |
| 45 | __attribute__((weak)) | 59 | __attribute__((weak)) |
| 46 | void bootloader_jump(void) {} | 60 | void bootloader_jump(void) {} |
| 47 | #endif \ No newline at end of file | 61 | #endif |
