Keyboard firmwares for Atmel AVR and Cortex-M
Du kan inte välja fler än 25 ämnen
Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
12345678910111213141516 |
- #include "bootloader.h"
-
- #include "ch.h"
-
- #ifdef BOOTLOADER_ADDRESS
- #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 /* BOOTLOADER_ADDRESS */
- void bootloader_jump(void) {}
- #endif /* BOOTLOADER_ADDRESS */
|