aboutsummaryrefslogtreecommitdiff
path: root/docs/flashing.md
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-10-29 18:36:38 -0400
committerJack Humbert <jack.humb@gmail.com>2017-10-29 18:44:29 -0400
commit4d421ee31c0003290bb4b083bcde8a7e607c082d (patch)
tree9fc81e8390ba7c44f88cd40402afd95b865994a8 /docs/flashing.md
parent91683d56fa5c9cf9893219b3dac269e20a2c7251 (diff)
downloadqmk_firmware-4d421ee31c0003290bb4b083bcde8a7e607c082d.tar.gz
qmk_firmware-4d421ee31c0003290bb4b083bcde8a7e607c082d.zip
adds flashing docs
Diffstat (limited to 'docs/flashing.md')
-rw-r--r--docs/flashing.md74
1 files changed, 74 insertions, 0 deletions
diff --git a/docs/flashing.md b/docs/flashing.md
new file mode 100644
index 000000000..a61634d21
--- /dev/null
+++ b/docs/flashing.md
@@ -0,0 +1,74 @@
1# Flashing Intrustructions
2
3There are quite a few different types of bootloaders that keyboards use, and just about all of the use a different flashing method. Luckily, projects like the [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) aim to be compatible with all the different types without having to think about it much, but this article will describe the different types of bootloaders, and available methods for flashing them.
4
5## DFU
6
7Atmel's DFU bootloader comes on all atmega32u4 chips by default, and is used by many keyboards that have their own ICs on their PCBs (Older OLKB boards, Clueboards). Some keyboards may also use LUFA's DFU bootloader (or QMK's fork) (Newer OLKB boards) that adds in additional features specific to that hardware.
8
9These bootloaders are usually 4096 bytes for the atmega32u4 chip.
10
11Compatible flashers:
12
13* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
14* [dfu-programmer](https://github.com/dfu-programmer/dfu-programmer) / `:dfu` in QMK (recommended commandline)
15* [Atmel's Flip](http://www.atmel.com/tools/flip.aspx) (not recommended)
16
17Flashing sequence:
18
191. Press the `RESET` keycode, or tap the RESET button (or short RST to GND).
202. Wait for the OS to detect the device
213. Erase the memory (may be done automatically)
224. Flash a .hex file
235. Reset the device into application mode (may be done automatically)
24
25or:
26
27 make <keyboard>:<keymap>:dfu
28
29## Caterina
30
31Arduino boards and their clones use the [Caterina bootloader](https://github.com/arduino/Arduino/tree/master/hardware/arduino/avr/bootloaders/caterina) (any keyboard built with a Pro Micro, or clone), and uses the avr109 protocol to communicate through virtual serial. Bootloaders like [A-Star](https://www.pololu.com/docs/0J61/9) are based on Caterina.
32
33This block of code allows for Caterina compatibility in QMK:
34
35 #define CATERINA_BOOTLOADER
36
37These bootloaders are usually 4096 bytes for the atmega32u4 chip.
38
39Compatible flashers:
40
41* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
42* [avrdude](http://www.nongnu.org/avrdude/) with avr109 / `:avrdude` (recommended commandline)
43* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS)
44
45Flashing sequence:
46
471. Press the `RESET` keycode, or short RST to GND quickly (you only have 7 seconds to flash once it enters)
482. Wait for the OS to detect the device
494. Flash a .hex file
505. Wait for the device to reset automatically
51
52or
53
54 make <keyboard>:<keymap>:avrdude
55
56## Halfkay
57
58Halfkay is a super-slim protocol developed by PJRC that uses HID, and come on all Teensys (namely the 2.0).
59
60This bootloader is 512 bytes.
61
62Compatible flashers:
63
64* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI)
65* [Teensy Loader](https://www.pjrc.com/teensy/loader.html)
66* [Teensy Loader Command Line](https://www.pjrc.com/teensy/loader_cli.html) (recommended commandline)
67
68Flashing sequence:
69
701. Press the `RESET` keycode, or short RST to GND quickly (you only have 7 seconds to flash once it enters)
712. Wait for the OS to detect the device
724. Flash a .hex file
735. Reset the device into application mode (may be done automatically)
74