From 5fd68266f5d90b2c7045f44f678d71b782907752 Mon Sep 17 00:00:00 2001 From: skullydazed Date: Fri, 29 Sep 2017 16:17:30 -0700 Subject: 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 --- tmk_core/common/chibios/bootloader.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'tmk_core/common/chibios/bootloader.c') diff --git a/tmk_core/common/chibios/bootloader.c b/tmk_core/common/chibios/bootloader.c index 8a533ab6f6..fc17fca1b6 100644 --- a/tmk_core/common/chibios/bootloader.c +++ b/tmk_core/common/chibios/bootloader.c @@ -16,6 +16,19 @@ void bootloader_jump(void) { NVIC_SystemReset(); } +#elif defined(STM32F3XX) +/* This code should be checked whether it runs correctly on platforms. + * It was added for clueboard60 BUT HAS NOT BEEN TESTED. + * FIXME - Test this + */ +#define SYMVAL(sym) (uint32_t)(((uint8_t *)&(sym)) - ((uint8_t *)0)) +extern uint32_t __ram0_end__; + +void bootloader_jump(void) { + *((unsigned long *)(SYMVAL(__ram0_end__) - 4)) = 0xDEADBEEF; // set magic flag => reset handler will jump into boot loader + NVIC_SystemReset(); +} + #else /* defined(STM32F0XX) */ #error Check that the bootloader code works on your platform and add it to bootloader.c! #endif /* defined(STM32F0XX) */ @@ -35,8 +48,9 @@ void bootloader_jump(void) { #else /* defined(KIIBOHD_BOOTLOADER) */ /* Default for Kinetis - expecting an ARM Teensy */ +#include "wait.h" void bootloader_jump(void) { - chThdSleepMilliseconds(100); + wait_ms(100); __BKPT(0); } #endif /* defined(KIIBOHD_BOOTLOADER) */ @@ -44,4 +58,4 @@ void bootloader_jump(void) { #else /* neither STM32 nor KINETIS */ __attribute__((weak)) void bootloader_jump(void) {} -#endif \ No newline at end of file +#endif -- cgit v1.2.3