|
|
@ -106,21 +106,50 @@ http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Bootloader jump doesn't work
|
|
|
|
## Bootloader jump doesn't work
|
|
|
|
Properly configure boot section size in Makefile. With wrong section size bootloader won't probably start with **Magic command** and **Boot Magic**.
|
|
|
|
Properly configure bootloader size in Makefile. With wrong section size bootloader won't probably start with **Magic command** and **Boot Magic**.
|
|
|
|
- https://github.com/tmk/tmk_keyboard#magic-commands
|
|
|
|
|
|
|
|
- https://github.com/tmk/tmk_keyboard#bootloader
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
# Boot Section Size in *bytes*
|
|
|
|
# Size of Bootloaders in bytes:
|
|
|
|
# Teensy halfKay 512
|
|
|
|
# Atmel DFU loader(ATmega32U4) 4096
|
|
|
|
# Teensy++ halfKay 1024
|
|
|
|
# Atmel DFU loader(AT90USB128) 8192
|
|
|
|
# Atmel DFU loader 4096 (TMK Alt Controller)
|
|
|
|
# LUFA bootloader(ATmega32U4) 4096
|
|
|
|
# LUFA bootloader 4096
|
|
|
|
# Arduino Caterina(ATmega32U4) 4096
|
|
|
|
# USBaspLoader 2048
|
|
|
|
# USBaspLoader(ATmega***) 2048
|
|
|
|
|
|
|
|
# Teensy halfKay(ATmega32U4) 512
|
|
|
|
|
|
|
|
# Teensy++ halfKay(AT90USB128) 1024
|
|
|
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
|
|
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
AVR Boot section size are defined by setting **BOOTSZ** fuse in fact. Consult with your MCU datasheet.
|
|
|
|
|
|
|
|
Note that **Word**(2 bytes) size and address are used in datasheet while TMK uses **Byte**.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AVR Boot section is located at end of Flash memory like the followings.
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB1286)
|
|
|
|
|
|
|
|
0x0000 +---------------+ 0x00000 +---------------+
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
| Application | | Application |
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
= = = =
|
|
|
|
|
|
|
|
| | 32KB-4KB | | 128KB-8KB
|
|
|
|
|
|
|
|
0x6000 +---------------+ 0x1FC00 +---------------+
|
|
|
|
|
|
|
|
| Bootloader | 4KB | Bootloader | 8KB
|
|
|
|
|
|
|
|
0x7FFF +---------------+ 0x1FFFF +---------------+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
byte Teensy(ATMega32u4) byte Teensy++(AT90SUB1286)
|
|
|
|
|
|
|
|
0x0000 +---------------+ 0x00000 +---------------+
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
| Application | | Application |
|
|
|
|
|
|
|
|
| | | |
|
|
|
|
|
|
|
|
= = = =
|
|
|
|
|
|
|
|
| | 32KB-512B | | 128KB-1KB
|
|
|
|
|
|
|
|
0x7E00 +---------------+ 0x1FC00 +---------------+
|
|
|
|
|
|
|
|
| Bootloader | 512B | Bootloader | 1KB
|
|
|
|
|
|
|
|
0x7FFF +---------------+ 0x1FFFF +---------------+
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
And see this discussion.
|
|
|
|
And see this discussion for further reference.
|
|
|
|
https://github.com/tmk/tmk_keyboard/issues/179
|
|
|
|
https://github.com/tmk/tmk_keyboard/issues/179
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|