Updated FAQ (markdown)

master
tmk 2015-05-06 10:07:23 +09:00
parent ff1130f76d
commit c9b11560bf
1 changed files with 40 additions and 11 deletions

51
FAQ.md
View File

@ -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**.
And see this discussion. 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 for further reference.
https://github.com/tmk/tmk_keyboard/issues/179 https://github.com/tmk/tmk_keyboard/issues/179