summaryrefslogtreecommitdiff
path: root/tmk_core/common/arm_atsam/bootloader.c
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common/arm_atsam/bootloader.c')
-rw-r--r--tmk_core/common/arm_atsam/bootloader.c46
1 files changed, 26 insertions, 20 deletions
diff --git a/tmk_core/common/arm_atsam/bootloader.c b/tmk_core/common/arm_atsam/bootloader.c
index ba71bfeb0b..9015b00aab 100644
--- a/tmk_core/common/arm_atsam/bootloader.c
+++ b/tmk_core/common/arm_atsam/bootloader.c
@@ -18,34 +18,40 @@
#include "samd51j18a.h"
#include "md_bootloader.h"
-//Set watchdog timer to reset. Directs the bootloader to stay in programming mode.
+// Set watchdog timer to reset. Directs the bootloader to stay in programming mode.
void bootloader_jump(void) {
#ifdef KEYBOARD_massdrop_ctrl
- //CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method.
- uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; //The version to match (NULL terminated by compiler)
- uint8_t *ver_check = ver_ram_method; //Pointer to version match string for traversal
- uint8_t *ver_rom = (uint8_t *)0x21A0; //Pointer to address in ROM where this specific bootloader version would exist
+ // CTRL keyboards released with bootloader version below must use RAM method. Otherwise use WDT method.
+ uint8_t ver_ram_method[] = "v2.18Jun 22 2018 17:28:08"; // The version to match (NULL terminated by compiler)
+ uint8_t *ver_check = ver_ram_method; // Pointer to version match string for traversal
+ uint8_t *ver_rom = (uint8_t *)0x21A0; // Pointer to address in ROM where this specific bootloader version would exist
- while (*ver_check && *ver_rom == *ver_check) { //While there are check version characters to match and bootloader's version matches check's version
- ver_check++; //Move check version pointer to next character
- ver_rom++; //Move ROM version pointer to next character
+ while (*ver_check && *ver_rom == *ver_check) { // While there are check version characters to match and bootloader's version matches check's version
+ ver_check++; // Move check version pointer to next character
+ ver_rom++; // Move ROM version pointer to next character
}
- if (!*ver_check) { //If check version pointer is NULL, all characters have matched
- *MAGIC_ADDR = BOOTLOADER_MAGIC; //Set magic number into RAM
- NVIC_SystemReset(); //Perform system reset
- while (1) {} //Won't get here
+ if (!*ver_check) { // If check version pointer is NULL, all characters have matched
+ *MAGIC_ADDR = BOOTLOADER_MAGIC; // Set magic number into RAM
+ NVIC_SystemReset(); // Perform system reset
+ while (1) {
+ } // Won't get here
}
#endif
WDT->CTRLA.bit.ENABLE = 0;
- while (WDT->SYNCBUSY.bit.ENABLE) {}
- while (WDT->CTRLA.bit.ENABLE) {}
- WDT->CONFIG.bit.WINDOW = 0;
- WDT->CONFIG.bit.PER = 0;
+ while (WDT->SYNCBUSY.bit.ENABLE) {
+ }
+ while (WDT->CTRLA.bit.ENABLE) {
+ }
+ WDT->CONFIG.bit.WINDOW = 0;
+ WDT->CONFIG.bit.PER = 0;
WDT->EWCTRL.bit.EWOFFSET = 0;
- WDT->CTRLA.bit.ENABLE = 1;
- while (WDT->SYNCBUSY.bit.ENABLE) {}
- while (!WDT->CTRLA.bit.ENABLE) {}
- while (1) {} //Wait on timeout
+ WDT->CTRLA.bit.ENABLE = 1;
+ while (WDT->SYNCBUSY.bit.ENABLE) {
+ }
+ while (!WDT->CTRLA.bit.ENABLE) {
+ }
+ while (1) {
+ } // Wait on timeout
}