Keyboard firmwares for Atmel AVR and Cortex-M
Você não pode selecionar mais de 25 tópicos
Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
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 */
|