]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Add dfu-util command for programming
authorFred Sundvik <fsundvik@gmail.com>
Tue, 5 Jul 2016 16:28:17 +0000 (19:28 +0300)
committerFred Sundvik <fsundvik@gmail.com>
Tue, 5 Jul 2016 16:28:17 +0000 (19:28 +0300)
Also add .bin generation, which is needed for dfu-util.

tmk_core/avr.mk
tmk_core/chibios.mk
tmk_core/rules.mk

index 72be5e6da1c7d9c407a02ec36de6dd517cd66b53..3bf2b34f88f8a00c840244ce925812e79c596740 100644 (file)
@@ -10,6 +10,7 @@ AR = avr-ar rcs
 NM = avr-nm
 HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature
 EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT) 
+BIN =
 
 
 
index 0abb933a8d74b8df05b12f64d95e4d1d2b4b193a..cb67ac6f25ba311815b8c005c9388c6903d583d8 100644 (file)
@@ -113,6 +113,7 @@ AR = arm-none-eabi-ar
 NM = arm-none-eabi-nm
 HEX = $(OBJCOPY) -O $(FORMAT)
 EEP = 
+BIN = $(OBJCOPY) -O binary
 
 THUMBFLAGS = -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB 
 
@@ -151,4 +152,7 @@ else ifneq ("$(wildcard $(KEYBOARD_PATH)/boards/$(BOARD)/bootloader_defs.h)","")
 endif
 
 # List any extra directories to look for libraries here.
-EXTRALIBDIRS = $(RULESPATH)/ld
\ No newline at end of file
+EXTRALIBDIRS = $(RULESPATH)/ld
+
+dfu-util: $(BUILD_DIR)/$(TARGET).bin sizeafter
+       dfu-util -D $(BUILD_DIR)/$(TARGET).bin
\ No newline at end of file
index 7d3d8f9a6b241b7343f8a153e9d52bc9590f6d4c..352e9314b61e32172872074f1d661ea8c39ffca9 100644 (file)
@@ -234,6 +234,7 @@ MSG_COFF = Converting to AVR COFF:
 MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
 MSG_FLASH = Creating load file for Flash:
 MSG_EEPROM = Creating load file for EEPROM:
+MSG_BIN = Creating binary load file for Flash:
 MSG_EXTENDED_LISTING = Creating Extended Listing:
 MSG_SYMBOL_TABLE = Creating Symbol Table:
 MSG_LINKING = Linking:
@@ -369,6 +370,11 @@ gccversion :
        $(eval CMD=$(NM) -n $< > $@ )
        @$(BUILD_CMD)
 
+%.bin: %.elf
+       @$(SILENT) || printf "$(MSG_BIN) $@" | $(AWK_CMD)
+       $(eval CMD=$(BIN) $< $@ || exit 0)
+       @$(BUILD_CMD)
+
 # Create library from object files.
 .SECONDARY : $(BUILD_DIR)/$(TARGET).a
 .PRECIOUS : $(OBJ)