From 3538955778c253e68779605cc67c27e15d195729 Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 16 Jul 2019 03:11:59 +0100 Subject: Usbasploader bootloader option addition (#6304) * Added USBasp bootloader option for USBasploader * author comment * ifdef fix :) * Add usbasp target * Update docs/flashing.md Co-Authored-By: fauxpark * Update docs/flashing.md Co-Authored-By: fauxpark * Update docs/flashing.md Co-Authored-By: fauxpark --- docs/flashing.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index 3b4582f005..833b9dd629 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -119,6 +119,31 @@ Flashing sequence: 3. Flash a .hex file 4. Reset the device into application mode (may be done automatically) +## USBasploader + +USBasploader is a bootloader developed by matrixstorm. It is used in some non-USB AVR chips such as the ATmega328P, which run V-USB. + +To ensure compatibility with the USBasploader bootloader, make sure this block is present in your `rules.mk`: + + # Bootloader + # This definition is optional, and if your keyboard supports multiple bootloaders of + # different sizes, comment this out, and the correct address will be loaded + # automatically (+60). See bootloader.mk for all options. + BOOTLOADER = USBasp + +Compatible flashers: + +* [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) (recommended GUI) +* [avrdude](http://www.nongnu.org/avrdude/) with the `usbasp` programmer +* [AVRDUDESS](https://github.com/zkemble/AVRDUDESS) + +Flashing sequence: + +1. Press the `RESET` keycode, or keep the boot pin shorted to GND while quickly shorting RST to GND +2. Wait for the OS to detect the device +3. Flash a .hex file +4. Reset the device into application mode (may be done automatically) + ## STM32 All STM32 chips come preloaded with a factory bootloader that cannot be modified nor deleted. Some STM32 chips have bootloaders that do not come with USB programming (e.g. STM32F103) but the process is still the same. -- cgit v1.2.3 From ae44ec9820cdf5348e802c9bae3af34557617685 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 23 Aug 2019 00:08:45 +0100 Subject: Align flashing behaviour of dfu-util (#6578) * Align flashing retry logic of dfu-util * Align bootloader wait messages Co-Authored-By: Drashna Jaelre --- docs/flashing.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index 833b9dd629..d11dbdf15b 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -171,7 +171,5 @@ Flashing sequence: There are a number of DFU commands that you can use to flash firmware to a STM32 device: -* `:dfu-util` - The default command for flashing to STM32 devices. -* `:dfu-util-wait` - This works like the default command, but it gives you a (configurable) 10 second timeout before it attempts to flash the firmware. You can use `TIME_DELAY=20` from the command line to change the timeout. - * Eg: `make ::dfu-util TIME_DELAY=5` -* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. +* `:dfu-util` - The default command for flashing to STM32 devices. +* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. -- cgit v1.2.3 From 51bcadf38cfccc08b287554ab17e21624abf55b8 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 24 Aug 2019 16:35:11 +0100 Subject: Add 'bootloadHID' flash target (#5587) * Add 'bootloadHID' flash target * Prep for flash target * Add :flash support * Align bootloader wait messages Co-Authored-By: Drashna Jaelre * Update template to suggest use of :flash --- docs/flashing.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index d11dbdf15b..b47a5ebf8e 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -144,6 +144,36 @@ Flashing sequence: 3. Flash a .hex file 4. Reset the device into application mode (may be done automatically) +## BootloadHID + +BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requires no kernel level driver on Windows and can therefore be run without installing any DLLs. + +To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`: + + # Bootloader + # This definition is optional, and if your keyboard supports multiple bootloaders of + # different sizes, comment this out, and the correct address will be loaded + # automatically (+60). See bootloader.mk for all options. + BOOTLOADER = bootloadHID + +Compatible flashers: + +* [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash) (recommended Windows GUI) +* [bootloadhid Command Line](https://www.obdev.at/products/vusb/bootloadhid.html) / `:BootloadHID` in QMK (recommended command line) + +Flashing sequence: + +1. Enter the bootloader using any of the following methods: + * Tap the `RESET` keycode (may not work on all devices) + * Hold the salt key while plugging the keyboard in (usually documented within keyboard readme) +2. Wait for the OS to detect the device +3. Flash a .hex file +4. Reset the device into application mode (may be done automatically) + +or: + + make ::bootloadHID + ## STM32 All STM32 chips come preloaded with a factory bootloader that cannot be modified nor deleted. Some STM32 chips have bootloaders that do not come with USB programming (e.g. STM32F103) but the process is still the same. -- cgit v1.2.3 From de4a47f1cc28c4ef66e7560eac2a50f717070ae2 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Sat, 21 Sep 2019 15:06:32 +1000 Subject: Cleanup rules.mk for 32A and 328P keyboards (#6767) --- docs/flashing.md | 80 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 25 deletions(-) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index b47a5ebf8e..00350b8406 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -10,11 +10,17 @@ Atmel's DFU bootloader comes on all atmega32u4 chips by default, and is used by To ensure compatibility with the DFU bootloader, make sure this block is present your `rules.mk` (optionally with `lufa-dfu` or `qmk-dfu` instead): - # Bootloader - # This definition is optional, and if your keyboard supports multiple bootloaders of - # different sizes, comment this out, and the correct address will be loaded - # automatically (+60). See bootloader.mk for all options. - BOOTLOADER = atmel-dfu +```make +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = atmel-dfu +``` Compatible flashers: @@ -64,11 +70,17 @@ Arduino boards and their clones use the [Caterina bootloader](https://github.com To ensure compatibility with the Caterina bootloader, make sure this block is present your `rules.mk`: - # Bootloader - # This definition is optional, and if your keyboard supports multiple bootloaders of - # different sizes, comment this out, and the correct address will be loaded - # automatically (+60). See bootloader.mk for all options. - BOOTLOADER = caterina +```make +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = caterina +``` Compatible flashers: @@ -100,11 +112,17 @@ Halfkay is a super-slim protocol developed by PJRC that uses HID, and come on al To ensure compatibility with the Halfkay bootloader, make sure this block is present your `rules.mk`: - # Bootloader - # This definition is optional, and if your keyboard supports multiple bootloaders of - # different sizes, comment this out, and the correct address will be loaded - # automatically (+60). See bootloader.mk for all options. - BOOTLOADER = halfkay +```make +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = halfkay +``` Compatible flashers: @@ -125,11 +143,17 @@ USBasploader is a bootloader developed by matrixstorm. It is used in some non-US To ensure compatibility with the USBasploader bootloader, make sure this block is present in your `rules.mk`: - # Bootloader - # This definition is optional, and if your keyboard supports multiple bootloaders of - # different sizes, comment this out, and the correct address will be loaded - # automatically (+60). See bootloader.mk for all options. - BOOTLOADER = USBasp +```make +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = USBasp +``` Compatible flashers: @@ -150,11 +174,17 @@ BootloadHID is a USB bootloader for AVR microcontrollers. The uploader tool requ To ensure compatibility with the bootloadHID bootloader, make sure this block is present your `rules.mk`: - # Bootloader - # This definition is optional, and if your keyboard supports multiple bootloaders of - # different sizes, comment this out, and the correct address will be loaded - # automatically (+60). See bootloader.mk for all options. - BOOTLOADER = bootloadHID +```make +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp +BOOTLOADER = bootloadHID +``` Compatible flashers: -- cgit v1.2.3 From 17794e0b2502371eaf155328d4e4195aef703163 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Fri, 27 Sep 2019 21:33:55 +0100 Subject: ARM split - Add support for dfu-util EE_HANDS flashing (#6543) * Initial stab at some fake dfu-util-split-left behaviour * Apply suggestions from code review Co-Authored-By: fauxpark * Clang format fixes * Fake eeprom init for both left and right hand --- docs/flashing.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index 00350b8406..18ae6364d4 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -232,4 +232,6 @@ Flashing sequence: There are a number of DFU commands that you can use to flash firmware to a STM32 device: * `:dfu-util` - The default command for flashing to STM32 devices. -* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. +* `:dfu-util-split-left` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Left Side" EEPROM setting for split keyboards. +* `:dfu-util-split-right` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Right Side" EEPROM setting for split keyboards. +* `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. -- cgit v1.2.3 From 0e6f78547eca1e7bbb093265e79c26a301e6635a Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Tue, 29 Oct 2019 13:15:03 -0700 Subject: [Docs] Update flashing information to include :flash target (#6999) * Update Newbs Flashing guide For the newbs that want to start flashing * Update flashing docs * Misc flashing * Attempt at flashing in french Lets hope I didn't butcher this too badly with machine transations * Update docs/feature_userspace.md * Apply language suggestions from code review * Apply suggestions from code review * Apply additional fr lang suggestions from code review * Apply suggestions from code review Co-Authored-By: fauxpark Co-Authored-By: Noan Mousy <4sstylz@protonmail.ch> Co-Authored-By: Xavier Hahn Co-Authored-By: Vincent LE GOFF --- docs/flashing.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'docs/flashing.md') diff --git a/docs/flashing.md b/docs/flashing.md index 18ae6364d4..98841c1aac 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -99,11 +99,16 @@ or make ::avrdude -or if you want to flash multiple boards, use the following command - make ::avrdude-loop +#### Caterina commands + +There are a number of DFU commands that you can use to flash firmware to a DFU device: + +* `:avrdude` - This is the normal option which waits until a Caterina device is available (by detecting a new COM port), and then flashes the firmware. +* `:avrdude-loop` - This runs the same command as `:avrdude`, but after each device is flashed, it will attempt to flash again. This is useful for bulk flashing. _This requires you to manually escape the loop by hitting Ctrl+C._ +* `:avrdude-split-left` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Left Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._ +* `:avrdude-split-right` - This flashes the normal firmware, just like the default option (`:avrdude`). However, this also flashes the "Right Side" EEPROM file for split keyboards. _This is ideal for Pro Micro based split keyboards._ -When 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. ## Halfkay @@ -231,7 +236,7 @@ Flashing sequence: There are a number of DFU commands that you can use to flash firmware to a STM32 device: -* `:dfu-util` - The default command for flashing to STM32 devices. +* `:dfu-util` - The default command for flashing to STM32 devices, and will wait until an STM32 bootloader device is present. * `:dfu-util-split-left` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Left Side" EEPROM setting for split keyboards. * `:dfu-util-split-right` - This flashes the normal firmware, just like the default option (`:dfu-util`). However, this also configures the "Right Side" EEPROM setting for split keyboards. * `:st-link-cli` - This allows you to flash the firmware via ST-LINK's CLI utility, rather than dfu-util. -- cgit v1.2.3