mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-25 10:44:59 +06:00
Add flash target for UF2 bootloaders (#16525)
This commit is contained in:
parent
05b7193651
commit
2bface8f89
@ -347,3 +347,14 @@ Flashing sequence:
|
|||||||
2. Wait for the OS to detect the device
|
2. Wait for the OS to detect the device
|
||||||
3. Copy the .uf2 file to the new USB disk
|
3. Copy the .uf2 file to the new USB disk
|
||||||
4. Wait for the keyboard to become available
|
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
|
dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter
|
||||||
$(call EXEC_DFU_UTIL)
|
$(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
|
# TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS
|
||||||
# within the emulated eeprom via dfu-util or another tool
|
# within the emulated eeprom via dfu-util or another tool
|
||||||
ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left))
|
ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left))
|
||||||
@ -90,6 +102,8 @@ ifneq ($(strip $(PROGRAM_CMD)),)
|
|||||||
$(UNSYNC_OUTPUT_CMD) && $(PROGRAM_CMD)
|
$(UNSYNC_OUTPUT_CMD) && $(PROGRAM_CMD)
|
||||||
else ifeq ($(strip $(BOOTLOADER)),kiibohd)
|
else ifeq ($(strip $(BOOTLOADER)),kiibohd)
|
||||||
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_DFU_UTIL)
|
$(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)
|
else ifeq ($(strip $(MCU_FAMILY)),KINETIS)
|
||||||
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY)
|
$(UNSYNC_OUTPUT_CMD) && $(call EXEC_TEENSY)
|
||||||
else ifeq ($(strip $(MCU_FAMILY)),MIMXRT1062)
|
else ifeq ($(strip $(MCU_FAMILY)),MIMXRT1062)
|
||||||
|
@ -267,7 +267,7 @@ def load_families():
|
|||||||
def main():
|
def main():
|
||||||
global appstartaddr, familyid
|
global appstartaddr, familyid
|
||||||
def error(msg):
|
def error(msg):
|
||||||
print(msg)
|
print(msg, file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.')
|
parser = argparse.ArgumentParser(description='Convert to UF2 or flash directly.')
|
||||||
parser.add_argument('input', metavar='INPUT', type=str, nargs='?',
|
parser.add_argument('input', metavar='INPUT', type=str, nargs='?',
|
||||||
|
Loading…
Reference in New Issue
Block a user