diff options
| author | Joel Challis <git@zvecr.com> | 2021-08-15 21:55:23 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-15 21:55:23 +0100 |
| commit | ab941ce614e19a7f4bb5bd34dd0ab9eee86bdc27 (patch) | |
| tree | ff8bfefacffaac38893dd423d018c84068258bd1 /platforms/chibios | |
| parent | 4e3726bfe11b02757c5724211d2a0fc62c7f66e8 (diff) | |
| download | qmk_firmware-ab941ce614e19a7f4bb5bd34dd0ab9eee86bdc27.tar.gz qmk_firmware-ab941ce614e19a7f4bb5bd34dd0ab9eee86bdc27.zip | |
Move all the flash logic from tmk_core (#13927)
Diffstat (limited to 'platforms/chibios')
| -rw-r--r-- | platforms/chibios/flash.mk | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/platforms/chibios/flash.mk b/platforms/chibios/flash.mk new file mode 100644 index 000000000..46aff6e4b --- /dev/null +++ b/platforms/chibios/flash.mk | |||
| @@ -0,0 +1,87 @@ | |||
| 1 | # Hey Emacs, this is a -*- makefile -*- | ||
| 2 | ############################################################################## | ||
| 3 | # Architecture or project specific options | ||
| 4 | # | ||
| 5 | |||
| 6 | DFU_ARGS ?= | ||
| 7 | ifneq ("$(SERIAL)","") | ||
| 8 | DFU_ARGS += -S $(SERIAL) | ||
| 9 | endif | ||
| 10 | |||
| 11 | DFU_UTIL ?= dfu-util | ||
| 12 | |||
| 13 | define EXEC_DFU_UTIL | ||
| 14 | if ! $(DFU_UTIL) -l | grep -q "Found DFU"; then \ | ||
| 15 | printf "$(MSG_BOOTLOADER_NOT_FOUND_QUICK_RETRY)" ;\ | ||
| 16 | sleep $(BOOTLOADER_RETRY_TIME) ;\ | ||
| 17 | while ! $(DFU_UTIL) -l | grep -q "Found DFU"; do \ | ||
| 18 | printf "." ;\ | ||
| 19 | sleep $(BOOTLOADER_RETRY_TIME) ;\ | ||
| 20 | done ;\ | ||
| 21 | printf "\n" ;\ | ||
| 22 | fi | ||
| 23 | $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin | ||
| 24 | endef | ||
| 25 | |||
| 26 | dfu-util: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter | ||
| 27 | $(call EXEC_DFU_UTIL) | ||
| 28 | |||
| 29 | # TODO: Remove once ARM has a way to configure EECONFIG_HANDEDNESS | ||
| 30 | # within the emulated eeprom via dfu-util or another tool | ||
| 31 | ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-left)) | ||
| 32 | OPT_DEFS += -DINIT_EE_HANDS_LEFT | ||
| 33 | endif | ||
| 34 | |||
| 35 | ifneq (,$(filter $(MAKECMDGOALS),dfu-util-split-right)) | ||
| 36 | OPT_DEFS += -DINIT_EE_HANDS_RIGHT | ||
| 37 | endif | ||
| 38 | |||
| 39 | dfu-util-split-left: dfu-util | ||
| 40 | |||
| 41 | dfu-util-split-right: dfu-util | ||
| 42 | |||
| 43 | ST_LINK_CLI ?= st-link_cli | ||
| 44 | ST_LINK_ARGS ?= | ||
| 45 | |||
| 46 | st-link-cli: $(BUILD_DIR)/$(TARGET).hex sizeafter | ||
| 47 | $(ST_LINK_CLI) $(ST_LINK_ARGS) -q -c SWD -p $(BUILD_DIR)/$(TARGET).hex -Rst | ||
| 48 | |||
| 49 | ST_FLASH ?= st-flash | ||
| 50 | ST_FLASH_ARGS ?= | ||
| 51 | |||
| 52 | st-flash: $(BUILD_DIR)/$(TARGET).hex sizeafter | ||
| 53 | $(ST_FLASH) $(ST_FLASH_ARGS) --reset --format ihex write $(BUILD_DIR)/$(TARGET).hex | ||
| 54 | |||
| 55 | # Autodetect teensy loader | ||
| 56 | ifndef TEENSY_LOADER_CLI | ||
| 57 | ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) | ||
| 58 | TEENSY_LOADER_CLI ?= teensy-loader-cli | ||
| 59 | else | ||
| 60 | TEENSY_LOADER_CLI ?= teensy_loader_cli | ||
| 61 | endif | ||
| 62 | endif | ||
| 63 | |||
| 64 | TEENSY_LOADER_CLI_MCU ?= $(MCU_LDSCRIPT) | ||
| 65 | |||
| 66 | define EXEC_TEENSY | ||
| 67 | $(TEENSY_LOADER_CLI) -mmcu=$(TEENSY_LOADER_CLI_MCU) -w -v $(BUILD_DIR)/$(TARGET).hex | ||
| 68 | endef | ||
| 69 | |||
| 70 | teensy: $(BUILD_DIR)/$(TARGET).hex cpfirmware sizeafter | ||
| 71 | $(call EXEC_TEENSY) | ||
| 72 | |||
| 73 | |||
| 74 | flash: $(BUILD_DIR)/$(TARGET).bin cpfirmware sizeafter | ||
| 75 | ifneq ($(strip $(PROGRAM_CMD)),) | ||
| 76 | $(PROGRAM_CMD) | ||
| 77 | else ifeq ($(strip $(BOOTLOADER)),kiibohd) | ||
| 78 | $(call EXEC_DFU_UTIL) | ||
| 79 | else ifeq ($(strip $(MCU_FAMILY)),KINETIS) | ||
| 80 | $(call EXEC_TEENSY) | ||
| 81 | else ifeq ($(strip $(MCU_FAMILY)),MIMXRT1062) | ||
| 82 | $(call EXEC_TEENSY) | ||
| 83 | else ifeq ($(strip $(MCU_FAMILY)),STM32) | ||
| 84 | $(call EXEC_DFU_UTIL) | ||
| 85 | else | ||
| 86 | $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)" | ||
| 87 | endif | ||
