summaryrefslogtreecommitdiff
path: root/docs/flashing.md
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2023-01-15 15:04:32 +0000
committerGitHub <noreply@github.com>2023-01-15 15:04:32 +0000
commit0730740add19d3afe3d96ead50ba7d29e5dcb109 (patch)
tree2831363e9c2bd7d683bc60ce7ba5b32c5ee2302e /docs/flashing.md
parenta92071494a95175b44a1a3912110c9432f63f3ed (diff)
Add mmoskal/uf2-stm32f103 bootloader support (#19594)
Diffstat (limited to 'docs/flashing.md')
-rw-r--r--docs/flashing.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/flashing.md b/docs/flashing.md
index b3f055f6cb..a636f19c72 100644
--- a/docs/flashing.md
+++ b/docs/flashing.md
@@ -363,6 +363,47 @@ CLI Flashing sequence:
* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware.
+## uf2boot
+
+Keyboards may opt into supporting the uf2boot bootloader. This is currently only supported on the F103 bluepill.
+
+The `rules.mk` setting for this bootloader is `uf2boot`, and can be specified at the keymap or user level.
+
+To ensure compatibility with the uf2boot bootloader, make sure this block is present in your `rules.mk`:
+
+```make
+# Bootloader selection
+BOOTLOADER = uf2boot
+```
+
+Compatible flashers:
+
+* Any application able to copy a file from one place to another, such as _macOS Finder_ or _Windows Explorer_.
+
+Flashing sequence:
+
+1. Enter the bootloader using any of the following methods:
+ * Tap the `QK_BOOT` keycode
+ * Double-tap the `nRST` button on the PCB.
+2. Wait for the OS to detect the device
+3. Copy the .uf2 file to the new USB disk
+4. Wait for the keyboard to become available
+
+or
+
+CLI Flashing sequence:
+
+1. Enter the bootloader using any of the following methods:
+ * Tap the `QK_BOOT` keycode
+ * Double-tap the `nRST` button on the PCB.
+2. Wait for the OS to detect the device
+3. Flash via QMK CLI eg. `qmk flash --keyboard handwired/onekey/bluepill_uf2boot --keymap default`
+4. Wait for the keyboard to become available
+
+### `make` Targets
+
+* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware.
+
## Raspberry Pi RP2040 UF2
The `rules.mk` setting for this bootloader is `rp2040`, and can be specified at the keymap or user level.