Add flash target for UF2 bootloaders (#16525)
This commit is contained in:
		| @@ -347,3 +347,14 @@ Flashing sequence: | ||||
| 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 `RESET` 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/blackpill_f411_tinyuf2 --keymap default` | ||||
| 4. Wait for the keyboard to become available | ||||
|   | ||||
| @@ -40,6 +40,18 @@ endef | ||||
| dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter | ||||
| 	$(call EXEC_DFU_UTIL) | ||||
|  | ||||
| define EXEC_UF2_UTIL_DEPLOY | ||||
| 	if ! $(UF2CONV) --deploy $(BUILD_DIR)/$(TARGET).uf2 2>/dev/null; then \ | ||||
| 		printf "$(MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY)" ;\ | ||||
| 		sleep $(BOOTLOADER_RETRY_TIME) ;\ | ||||
| 		while ! $(UF2CONV) --deploy $(BUILD_DIR)/$(TARGET).uf2  2>/dev/null; do \ | ||||
| 			printf "." ;\ | ||||
| 			sleep $(BOOTLOADER_RETRY_TIME) ;\ | ||||
| 		done ;\ | ||||
| 		printf "\n" ;\ | ||||
| 	fi | ||||
| endef | ||||
|  | ||||
| # TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS | ||||
| #       within the emulated eeprom via dfu-util or another tool | ||||
| ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left)) | ||||
| @@ -90,6 +102,8 @@ ifneq ($(strip $(PROGRAM_CMD)),) | ||||
| 	$(UNSYNC_OUTPUT_CMD) && $(PROGRAM_CMD) | ||||
| else ifeq ($(strip $(BOOTLOADER)),kiibohd) | ||||
| 	$(UNSYNC_OUTPUT_CMD) && $(call EXEC_DFU_UTIL) | ||||
| else ifeq ($(strip $(BOOTLOADER)),tinyuf2) | ||||
| 	$(UNSYNC_OUTPUT_CMD) && $(call EXEC_UF2_UTIL_DEPLOY) | ||||
| else ifeq ($(strip $(MCU_FAMILY)),KINETIS) | ||||
| 	$(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY) | ||||
| else ifeq ($(strip $(MCU_FAMILY)),MIMXRT1062) | ||||
|   | ||||
| @@ -267,7 +267,7 @@ def load_families(): | ||||
| def main(): | ||||
|     global appstartaddr, familyid | ||||
|     def error(msg): | ||||
|         print(msg) | ||||
|         print(msg, file=sys.stderr) | ||||
|         sys.exit(1) | ||||
|     parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.') | ||||
|     parser.add_argument('input', metavar='INPUT', type=str, nargs='?', | ||||
|   | ||||
		Reference in New Issue
	
	Block a user