summaryrefslogtreecommitdiff
path: root/FAQ.md
diff options
context:
space:
mode:
authortmk <tmk@users.noreply.github.com>2015-05-06 10:07:23 +0900
committertmk <tmk@users.noreply.github.com>2015-05-06 10:07:23 +0900
commitc9b11560bf41617adf75366517ccfe15e2c2aab3 (patch)
treed63d9da12162fdb3a9ca5726eb0c200e6d5730a3 /FAQ.md
parentff1130f76df7cf0ed4b5ecc0605bb8b55cc58b11 (diff)
downloadqmk_firmware-c9b11560bf41617adf75366517ccfe15e2c2aab3.tar.gz
qmk_firmware-c9b11560bf41617adf75366517ccfe15e2c2aab3.zip
Updated FAQ (markdown)
Diffstat (limited to 'FAQ.md')
-rw-r--r--FAQ.md51
1 files changed, 40 insertions, 11 deletions
diff --git a/FAQ.md b/FAQ.md
index 4a89d6d50a..39de3b5ef0 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -106,21 +106,50 @@ http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
## 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**.
-- https://github.com/tmk/tmk_keyboard#magic-commands
-- https://github.com/tmk/tmk_keyboard#bootloader
-
+Properly configure bootloader size in Makefile. With wrong section size bootloader won't probably start with **Magic command** and **Boot Magic**.
```
-# Boot Section Size in *bytes*
-# Teensy halfKay 512
-# Teensy++ halfKay 1024
-# Atmel DFU loader 4096 (TMK Alt Controller)
-# LUFA bootloader 4096
-# USBaspLoader 2048
+# Size of Bootloaders in bytes:
+# Atmel DFU loader(ATmega32U4) 4096
+# Atmel DFU loader(AT90USB128) 8192
+# LUFA bootloader(ATmega32U4) 4096
+# Arduino Caterina(ATmega32U4) 4096
+# USBaspLoader(ATmega***) 2048
+# Teensy halfKay(ATmega32U4) 512
+# Teensy++ halfKay(AT90USB128) 1024
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