aboutsummaryrefslogtreecommitdiff
path: root/docs/newbs_flashing.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/newbs_flashing.md')
-rw-r--r--docs/newbs_flashing.md69
1 files changed, 68 insertions, 1 deletions
diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md
index 9d2bf920f..a985e5d2b 100644
--- a/docs/newbs_flashing.md
+++ b/docs/newbs_flashing.md
@@ -131,6 +131,16 @@ If you have any issues with this, you may need to this:
131 131
132 sudo make <my_keyboard>:<my_keymap>:dfu 132 sudo make <my_keyboard>:<my_keymap>:dfu
133 133
134#### DFU commands
135
136There are a number of DFU commands that you can use to flash firmware to a DFU device:
137
138* `:dfu` - This is the normal option and waits until a DFU device is available, and then flashes the firmware. This will check every 5 seconds, to see if a DFU device has appeared.
139* `:dfu-ee` - This flashes an `eep` file instead of the normal hex. This is uncommon.
140* `:dfu-split-left` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
141* `:dfu-split-right` - This flashes the normal firmware, just like the default option (`:dfu`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Elite C based split keyboards._
142
143
134### Caterina 144### Caterina
135 145
136For Arduino boards and their clones (such as the SparkFun ProMicro), when you're ready to compile and flash your firmware, open up your terminal window and run the build command: 146For Arduino boards and their clones (such as the SparkFun ProMicro), when you're ready to compile and flash your firmware, open up your terminal window and run the build command:
@@ -199,6 +209,14 @@ If you have any issues with this, you may need to this:
199 209
200 sudo make <my_keyboard>:<my_keymap>:avrdude 210 sudo make <my_keyboard>:<my_keymap>:avrdude
201 211
212
213Additionally, if you want to flash multiple boards, use the following command:
214
215 make <keyboard>:<keymap>:avrdude-loop
216
217When you're done flashing boards, you'll need to hit Ctrl + C or whatever the correct keystroke is for your operating system to break the loop.
218
219
202## HalfKay 220## HalfKay
203 221
204For the PJRC devices (Teensy's), when you're ready to compile and flash your firmware, open up your terminal window and run the build command: 222For the PJRC devices (Teensy's), when you're ready to compile and flash your firmware, open up your terminal window and run the build command:
@@ -226,12 +244,61 @@ Waiting for Teensy device...
226 244
227 ``` 245 ```
228 Found HalfKay Bootloader 246 Found HalfKay Bootloader
229Read "./.build/ergodox_ez_drashna.hex": 28532 bytes, 88.5% usage 247Read "./.build/ergodox_ez_xyverz.hex": 28532 bytes, 88.5% usage
230Programming............................................................................................................................................................................ 248Programming............................................................................................................................................................................
231................................................... 249...................................................
232Booting 250Booting
233``` 251```
234 252
253## STM32 (ARM)
254
255For a majority of ARM boards (including the Proton C, Planck Rev 6, and Preonic Rev 3), when you're ready to compile and flash your firmware, open up your terminal window and run the build command:
256
257 make <my_keyboard>:<my_keymap>:dfu-util
258
259For example, if your keymap is named "xyverz" and you're building a keymap for the Planck Revision 6 keyboard, you'll use this command and then reboot the keyboard to the bootloader (before it finishes compiling):
260
261 make planck/rev6:xyverz:dfu-util
262
263Once the firmware finishes compiling, it will output something like this:
264
265```
266Linking: .build/planck_rev6_xyverz.elf [OK]
267Creating binary load file for flashing: .build/planck_rev6_xyverz.bin [OK]
268Creating load file for flashing: .build/planck_rev6_xyverz.hex [OK]
269
270Size after:
271 text data bss dec hex filename
272 0 41820 0 41820 a35c .build/planck_rev6_xyverz.hex
273
274Copying planck_rev6_xyverz.bin to qmk_firmware folder [OK]
275dfu-util 0.9
276
277Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
278Copyright 2010-2016 Tormod Volden and Stefan Schmidt
279This program is Free Software and has ABSOLUTELY NO WARRANTY
280Please report bugs to http://sourceforge.net/p/dfu-util/tickets/
281
282Invalid DFU suffix signature
283A valid DFU suffix will be required in a future dfu-util release!!!
284Opening DFU capable USB device...
285ID 0483:df11
286Run-time device DFU version 011a
287Claiming USB DFU Interface...
288Setting Alternate Setting #0 ...
289Determining device status: state = dfuERROR, status = 10
290dfuERROR, clearing status
291Determining device status: state = dfuIDLE, status = 0
292dfuIDLE, continuing
293DFU mode device DFU version 011a
294Device returned transfer size 2048
295DfuSe interface name: "Internal Flash "
296Downloading to address = 0x08000000, size = 41824
297Download [=========================] 100% 41824 bytes
298Download done.
299File downloaded successfully
300Transitioning to dfuMANIFEST state
301```
235 302
236## Test It Out! 303## Test It Out!
237 304