Add debug scripts for ARM and AVR.
[bertos.git] / bertos / rules.mk
index fcf62f27fa5f9a7acdd543ec59e8c9d53854e18f..a6dae1df6c4df24ac409deea85af27f6bcbd1e81 100644 (file)
@@ -121,7 +121,7 @@ endif
 ifneq ($$($(1)_CROSS),)
        #deprecated: use PREFIX, SUFFIX and HOSTED mechanism instead
        $(1)_PREFIX = $$($(1)_CROSS)
-       $(1)_SUFFIX = ""
+       $(1)_SUFFIX =
 endif
 
 $(1)_CC      ?= $$($(1)_PREFIX)$$(CC)$$($(1)_SUFFIX)
@@ -244,11 +244,16 @@ $$(OUTDIR)/$(1)_whole.elf: bumprev $$($(1)_SRC) $$($(1)_LDSCRIPT)
 # Flash target
 # NOTE: we retry in case of failure because the STK500 programmer is crappy
 .PHONY: flash_$(1)
-flash_$(1): $(OUTDIR)/$(1).s19 flash_$(1)_local
-       if ! $(AVRDUDE) $(DPROG) -p $$($(1)_MCU) -U flash:w:$$< ; then \
-            $(AVRDUDE) $(DPROG) -p $$($(1)_MCU) -U flash:w:$$< ; \
+flash_$(1): $(OUTDIR)/$(1).hex flash_$(1)_local
+       $L "$(1): Flashing target"
+       $Q if [ ! "$$($(1)_PROGRAMMER_TYPE)" == "none" ] ; then \
+               PROGRAMMER_CPU=$$($(1)_PROGRAMMER_CPU) PROGRAMMER_TYPE=$$($(1)_PROGRAMMER_TYPE) \
+               PROGRAMMER_PORT=$$($(1)_PROGRAMMER_PORT) IMAGE_FILE=$$< \
+               $$($(1)_FLASH_SCRIPT) ; \
+       else \
+               printf "No programmer interface configured, see http://dev.bertos.org/wiki/ProgrammerInterface\n" ; \
+               exit 1 ; \
        fi
-       #avarice --mkII -j usb --erase --program --verify --file images/triface.elf
 
 .PHONY: flash_$(1)_local
 flash_$(1)_local: