aboutsummaryrefslogtreecommitdiff
path: root/common/avr/bootloader.c
diff options
context:
space:
mode:
authorJun Wako <wakojun@gmail.com>2015-09-24 12:29:11 +0900
committerJun Wako <wakojun@gmail.com>2015-09-24 12:29:11 +0900
commitfdc38ef3f92af7adeeb4de49550d8838c8a39b5c (patch)
treea20c7a06111e5f674d94e8ba48a82d16b2e3e07f /common/avr/bootloader.c
parentf6d56675f9f981c5464f0ca7a1fbb0162154e8c5 (diff)
downloadqmk_firmware-fdc38ef3f92af7adeeb4de49550d8838c8a39b5c.tar.gz
qmk_firmware-fdc38ef3f92af7adeeb4de49550d8838c8a39b5c.zip
Squashed 'tmk_core/' changes from dc0e46e..57d27a8
57d27a8 Merge branch 'core_update_150924' into core 024abe3 core: Fix NKRO ifdef 7aa2d30 core: Fix for disabling NKRO in Boot protocol 95651fd core: Fix message print of debug command c20cd29 lufa: Fix endpoint bank mode for ATMega32u2 82ac21f next_usb: Fix next_kbd_set_leds() 537d9c7 Change to KC_BOOTLOADER(KC_BTLD) f2b3772 Add an assignable RESET key fc99257 Fix parenthesis e852582 Fix weak modifier clear in action macro c2a6c5c core: Fix lufa suspend callback(#234) fa548c5 usb_usb: Ignore error usage(0x01-03) report 513d95c usb_usb: Support locking key indicator LED cd78802 core: Add keymap section ldscript for ATMega32U2 70c9abd Add description for non-US keys on keycode.h 538c192 lufa: Fix console flush #223 87628c9 Revert "Make action_for_key a weak symbol" 3c0a1ba Make action_for_key a weak symbol 6bb0d7d ibm4704_usb: Fix protocol handling b6ef5cf Add keyboard_setup() and matrix_setup() f4bb8b2 ibm4704_usb: Fix interrupt of clock(rising edge) 0c1fcc1 usb_usb: Change debug LED pin config 595710d Reduce code size of magic commands 6bed174 Add description of AVR bootloader and boot section 54c6a01 Merge commit 'f6d56675f9f981c5464f0ca7a1fbb0162154e8c5' d18d42e Merge branch 'core-update2' into core febec88 Add compile options '-fdata-sections' git-subtree-dir: tmk_core git-subtree-split: 57d27a8e39173a589b4abae74851f95c39940174
Diffstat (limited to 'common/avr/bootloader.c')
-rw-r--r--common/avr/bootloader.c49
1 files changed, 43 insertions, 6 deletions
diff --git a/common/avr/bootloader.c b/common/avr/bootloader.c
index cda295b18..7c744e8c7 100644
--- a/common/avr/bootloader.c
+++ b/common/avr/bootloader.c
@@ -11,12 +11,49 @@
11#endif 11#endif
12 12
13 13
14/* Boot Section Size in *BYTEs* 14/* Bootloader Size in *bytes*
15 * Teensy halfKay 512 15 *
16 * Teensy++ halfKay 1024 16 * AVR Boot section size are defined by setting BOOTSZ fuse in fact. Consult with your MCU datasheet.
17 * Atmel DFU loader 4096 17 * Note that 'Word'(2 bytes) size and address are used in datasheet while TMK uses 'Byte'.
18 * LUFA bootloader 4096 18 *
19 * USBaspLoader 2048 19 *
20 * Size of Bootloaders in bytes:
21 * Atmel DFU loader(ATmega32U4) 4096
22 * Atmel DFU loader(AT90USB128) 8192
23 * LUFA bootloader(ATmega32U4) 4096
24 * Arduino Caterina(ATmega32U4) 4096
25 * USBaspLoader(ATmega***) 2048
26 * Teensy halfKay(ATmega32U4) 512
27 * Teensy++ halfKay(AT90USB128) 1024
28 *
29 *
30 * AVR Boot section is located at the end of Flash memory like the followings.
31 *
32 *
33 * byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB128)
34 * 0x0000 +---------------+ 0x00000 +---------------+
35 * | | | |
36 * | | | |
37 * | Application | | Application |
38 * | | | |
39 * = = = =
40 * | | 32KB-4KB | | 128KB-8KB
41 * 0x6000 +---------------+ 0x1FC00 +---------------+
42 * | Bootloader | 4KB | Bootloader | 8KB
43 * 0x7FFF +---------------+ 0x1FFFF +---------------+
44 *
45 *
46 * byte Teensy(ATMega32u4) byte Teensy++(AT90SUB128)
47 * 0x0000 +---------------+ 0x00000 +---------------+
48 * | | | |
49 * | | | |
50 * | Application | | Application |
51 * | | | |
52 * = = = =
53 * | | 32KB-512B | | 128KB-1KB
54 * 0x7E00 +---------------+ 0x1FC00 +---------------+
55 * | Bootloader | 512B | Bootloader | 1KB
56 * 0x7FFF +---------------+ 0x1FFFF +---------------+
20 */ 57 */
21#ifndef BOOTLOADER_SIZE 58#ifndef BOOTLOADER_SIZE
22#warning To use bootloader_jump() you need to define BOOTLOADER_SIZE in config.h. 59#warning To use bootloader_jump() you need to define BOOTLOADER_SIZE in config.h.