diff options
| author | Drashna Jaelre <drashna@live.com> | 2021-07-24 23:00:57 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-24 23:00:57 -0700 |
| commit | 71e9f8fc11f617278497611e169bf2ddccd2211c (patch) | |
| tree | 7d4926faf648dc556f28ae7af284ce5eade61cf6 /tmk_core | |
| parent | a030950fd6754fae361845e872a4855032d6f666 (diff) | |
| download | qmk_firmware-71e9f8fc11f617278497611e169bf2ddccd2211c.tar.gz qmk_firmware-71e9f8fc11f617278497611e169bf2ddccd2211c.zip | |
Update LUFA (18-07-2021) and add QMK-HID Bootloader support (#13588)
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/avr.mk | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/tmk_core/avr.mk b/tmk_core/avr.mk index 2efde2212..d942e7ade 100644 --- a/tmk_core/avr.mk +++ b/tmk_core/avr.mk | |||
| @@ -237,6 +237,15 @@ endef | |||
| 237 | bootloadHID: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware | 237 | bootloadHID: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware |
| 238 | $(call EXEC_BOOTLOADHID) | 238 | $(call EXEC_BOOTLOADHID) |
| 239 | 239 | ||
| 240 | HID_BOOTLOADER_CLI ?= hid_bootloader_cli | ||
| 241 | |||
| 242 | define EXEC_HID_LUFA | ||
| 243 | $(HID_BOOTLOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex | ||
| 244 | endef | ||
| 245 | |||
| 246 | hid_bootloader: $(BUILD_DIR)/$(TARGET).hex check-size cpfirmware | ||
| 247 | $(call EXEC_HID_LUFA) | ||
| 248 | |||
| 240 | # Convert hex to bin. | 249 | # Convert hex to bin. |
| 241 | bin: $(BUILD_DIR)/$(TARGET).hex | 250 | bin: $(BUILD_DIR)/$(TARGET).hex |
| 242 | $(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin | 251 | $(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin |
| @@ -295,19 +304,26 @@ extcoff: $(BUILD_DIR)/$(TARGET).elf | |||
| 295 | @$(SECHO) $(MSG_EXTENDED_COFF) $(BUILD_DIR)/$(TARGET).cof | 304 | @$(SECHO) $(MSG_EXTENDED_COFF) $(BUILD_DIR)/$(TARGET).cof |
| 296 | $(COFFCONVERT) -O coff-ext-avr $< $(BUILD_DIR)/$(TARGET).cof | 305 | $(COFFCONVERT) -O coff-ext-avr $< $(BUILD_DIR)/$(TARGET).cof |
| 297 | 306 | ||
| 298 | bootloader: | 307 | ifeq ($(strip $(BOOTLOADER)), qmk-dfu) |
| 299 | ifneq ($(strip $(BOOTLOADER)), qmk-dfu) | 308 | QMK_BOOTLOADER_TYPE = DFU |
| 300 | $(error Please set BOOTLOADER = qmk-dfu first!) | 309 | else ifeq ($(strip $(BOOTLOADER)), qmk-hid) |
| 310 | QMK_BOOTLOADER_TYPE = HID | ||
| 301 | endif | 311 | endif |
| 302 | make -C lib/lufa/Bootloaders/DFU/ clean | 312 | |
| 303 | $(QMK_BIN) generate-dfu-header --quiet --keyboard $(KEYBOARD) --output lib/lufa/Bootloaders/DFU/Keyboard.h | 313 | bootloader: |
| 314 | ifeq ($(strip $(QMK_BOOTLOADER_TYPE)),) | ||
| 315 | $(error Please set BOOTLOADER to "qmk-dfu" or "qmk-hid" first!) | ||
| 316 | else | ||
| 317 | make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean | ||
| 318 | $(QMK_BIN) generate-dfu-header --quiet --keyboard $(KEYBOARD) --output lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Keyboard.h | ||
| 304 | $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) tmk_core/common/avr/bootloader_size.c 2> /dev/null | sed -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) | 319 | $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) tmk_core/common/avr/bootloader_size.c 2> /dev/null | sed -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) |
| 305 | $(eval PROGRAM_SIZE_KB=$(shell n=`expr $(MAX_SIZE) / 1024` && echo $$(($$n)) || echo 0)) | 320 | $(eval PROGRAM_SIZE_KB=$(shell n=`expr $(MAX_SIZE) / 1024` && echo $$(($$n)) || echo 0)) |
| 306 | $(eval BOOT_SECTION_SIZE_KB=$(shell n=`expr $(BOOTLOADER_SIZE) / 1024` && echo $$(($$n)) || echo 0)) | 321 | $(eval BOOT_SECTION_SIZE_KB=$(shell n=`expr $(BOOTLOADER_SIZE) / 1024` && echo $$(($$n)) || echo 0)) |
| 307 | $(eval FLASH_SIZE_KB=$(shell n=`expr $(PROGRAM_SIZE_KB) + $(BOOT_SECTION_SIZE_KB)` && echo $$(($$n)) || echo 0)) | 322 | $(eval FLASH_SIZE_KB=$(shell n=`expr $(PROGRAM_SIZE_KB) + $(BOOT_SECTION_SIZE_KB)` && echo $$(($$n)) || echo 0)) |
| 308 | make -C lib/lufa/Bootloaders/DFU/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB) | 323 | make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB) |
| 309 | printf "BootloaderDFU.hex copied to $(TARGET)_bootloader.hex\n" | 324 | printf "Bootloader$(QMK_BOOTLOADER_TYPE).hex copied to $(TARGET)_bootloader.hex\n" |
| 310 | cp lib/lufa/Bootloaders/DFU/BootloaderDFU.hex $(TARGET)_bootloader.hex | 325 | cp lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Bootloader$(QMK_BOOTLOADER_TYPE).hex $(TARGET)_bootloader.hex |
| 326 | endif | ||
| 311 | 327 | ||
| 312 | production: $(BUILD_DIR)/$(TARGET).hex bootloader cpfirmware | 328 | production: $(BUILD_DIR)/$(TARGET).hex bootloader cpfirmware |
| 313 | @cat $(BUILD_DIR)/$(TARGET).hex | awk '/^:00000001FF/ == 0' > $(TARGET)_production.hex | 329 | @cat $(BUILD_DIR)/$(TARGET).hex | awk '/^:00000001FF/ == 0' > $(TARGET)_production.hex |
| @@ -328,6 +344,8 @@ else ifeq ($(strip $(BOOTLOADER)), USBasp) | |||
| 328 | $(call EXEC_USBASP) | 344 | $(call EXEC_USBASP) |
| 329 | else ifeq ($(strip $(BOOTLOADER)), bootloadHID) | 345 | else ifeq ($(strip $(BOOTLOADER)), bootloadHID) |
| 330 | $(call EXEC_BOOTLOADHID) | 346 | $(call EXEC_BOOTLOADHID) |
| 347 | else ifeq ($(strip $(BOOTLOADER)), qmk-hid) | ||
| 348 | $(call EXEC_HID_LUFA) | ||
| 331 | else | 349 | else |
| 332 | $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)" | 350 | $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_BOOTLOADER)" |
| 333 | endif | 351 | endif |
