Add possibility to override the command to execute when flashing

This commit is contained in:
Fred Sundvik 2017-04-29 23:45:27 +03:00
parent 26bbfd7812
commit 18b4d24cc3
2 changed files with 26 additions and 20 deletions

View File

@ -89,9 +89,9 @@ DEBUG_HOST = localhost
#============================================================================ #============================================================================
# Autodecct teensy loader # Autodecct teensy loader
ifneq (, $(shell which teensy-loader-cli 2>/dev/null)) ifneq (, $(shell which teensy-loader-cli 2>/dev/null))
TEENSY_LOADER_CLI = teensy-loader-cli TEENSY_LOADER_CLI ?= teensy-loader-cli
else else
TEENSY_LOADER_CLI = teensy_loader_cli TEENSY_LOADER_CLI ?= teensy_loader_cli
endif endif
# Program the device. # Program the device.
@ -100,43 +100,47 @@ program: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep
teensy: $(BUILD_DIR)/$(TARGET).hex teensy: $(BUILD_DIR)/$(TARGET).hex
$(TEENSY_LOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex $(TEENSY_LOADER_CLI) -mmcu=$(MCU) -w -v $(BUILD_DIR)/$(TARGET).hex
BATCHISP ?= batchisp
flip: $(BUILD_DIR)/$(TARGET).hex flip: $(BUILD_DIR)/$(TARGET).hex
batchisp -hardware usb -device $(MCU) -operation erase f $(BATCHISP) -hardware usb -device $(MCU) -operation erase f
batchisp -hardware usb -device $(MCU) -operation loadbuffer $(BUILD_DIR)/$(TARGET).hex program $(BATCHISP) -hardware usb -device $(MCU) -operation loadbuffer $(BUILD_DIR)/$(TARGET).hex program
batchisp -hardware usb -device $(MCU) -operation start reset 0 $(BATCHISP) -hardware usb -device $(MCU) -operation start reset 0
DFU_PROGRAMMER ?= dfu-programmer
dfu: $(BUILD_DIR)/$(TARGET).hex sizeafter dfu: $(BUILD_DIR)/$(TARGET).hex sizeafter
until dfu-programmer $(MCU) get bootloader-version; do\ until $(DFU_PROGRAMMER) $(MCU) get bootloader-version; do\
echo "Error: Bootloader not found. Trying again in 5s." ;\ echo "Error: Bootloader not found. Trying again in 5s." ;\
sleep 5 ;\ sleep 5 ;\
done done
ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1))) ifneq (, $(findstring 0.7, $(shell $(DFU_PROGRAMMER) --version 2>&1)))
dfu-programmer $(MCU) erase --force $(DFU_PROGRAMMER) $(MCU) erase --force
else else
dfu-programmer $(MCU) erase $(DFU_PROGRAMMER) $(MCU) erase
endif endif
dfu-programmer $(MCU) flash $(BUILD_DIR)/$(TARGET).hex $(DFU_PROGRAMMER) $(MCU) flash $(BUILD_DIR)/$(TARGET).hex
dfu-programmer $(MCU) reset $(DFU_PROGRAMMER) $(MCU) reset
dfu-start: dfu-start:
dfu-programmer $(MCU) reset $(DFU_PROGRAMMER) $(MCU) reset
dfu-programmer $(MCU) start $(DFU_PROGRAMMER) $(MCU) start
flip-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep flip-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep
$(COPY) $(BUILD_DIR)/$(TARGET).eep $(BUILD_DIR)/$(TARGET)eep.hex $(COPY) $(BUILD_DIR)/$(TARGET).eep $(BUILD_DIR)/$(TARGET)eep.hex
batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase $(BATCHISP) -hardware usb -device $(MCU) -operation memory EEPROM erase
batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(BUILD_DIR)/$(TARGET)eep.hex program $(BATCHISP) -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(BUILD_DIR)/$(TARGET)eep.hex program
batchisp -hardware usb -device $(MCU) -operation start reset 0 $(BATCHISP) -hardware usb -device $(MCU) -operation start reset 0
$(REMOVE) $(BUILD_DIR)/$(TARGET)eep.hex $(REMOVE) $(BUILD_DIR)/$(TARGET)eep.hex
dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep dfu-ee: $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).eep
ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1))) ifneq (, $(findstring 0.7, $(shell dfu-programmer --version 2>&1)))
dfu-programmer $(MCU) flash --eeprom $(BUILD_DIR)/$(TARGET).eep $(DFU_PROGRAMMER) $(MCU) flash --eeprom $(BUILD_DIR)/$(TARGET).eep
else else
dfu-programmer $(MCU) flash-eeprom $(BUILD_DIR)/$(TARGET).eep $(DFU_PROGRAMMER) $(MCU) flash-eeprom $(BUILD_DIR)/$(TARGET).eep
endif endif
dfu-programmer $(MCU) reset $(DFU_PROGRAMMER) $(MCU) reset
# Convert hex to bin. # Convert hex to bin.
flashbin: $(BUILD_DIR)/$(TARGET).hex flashbin: $(BUILD_DIR)/$(TARGET).hex

View File

@ -151,5 +151,7 @@ endif
# List any extra directories to look for libraries here. # List any extra directories to look for libraries here.
EXTRALIBDIRS = $(RULESPATH)/ld EXTRALIBDIRS = $(RULESPATH)/ld
DFU_UTIL ?= dfu-util
dfu-util: $(BUILD_DIR)/$(TARGET).bin sizeafter dfu-util: $(BUILD_DIR)/$(TARGET).bin sizeafter
dfu-util $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin $(DFU_UTIL) $(DFU_ARGS) -D $(BUILD_DIR)/$(TARGET).bin