diff --git a/boards/common/frdm/Makefile.include b/boards/common/frdm/Makefile.include index 873e931acfa7..81a98274f1db 100644 --- a/boards/common/frdm/Makefile.include +++ b/boards/common/frdm/Makefile.include @@ -22,9 +22,6 @@ export OPENOCD_PRE_VERIFY_CMDS += \ -c 'load_image $(RIOTCPU)/$(CPU)/dist/wdog-disable.bin 0x20000000 bin' \ -c 'resume 0x20000000' export OPENOCD_EXTRA_INIT - -FLASHDEPS += $(RIOTCPU)/$(CPU)/dist/wdog-disable.bin - export OPENOCD_CONFIG ?= $(RIOTBOARD)/common/frdm/dist/old-openocd-$(CPU_FAMILY).cfg endif diff --git a/boards/mulle/Makefile.include b/boards/mulle/Makefile.include index 276f2fc3c8b7..d580e7923604 100644 --- a/boards/mulle/Makefile.include +++ b/boards/mulle/Makefile.include @@ -58,8 +58,6 @@ export OPENOCD_PRE_VERIFY_CMDS += \ -c 'resume 0x20000000' export PRE_FLASH_CHECK_SCRIPT = $(RIOTCPU)/$(CPU)/dist/check-fcfield.sh -FLASHDEPS += $(RIOTCPU)/$(CPU)/dist/wdog-disable.bin - # this board uses openocd include $(RIOTMAKE)/tools/openocd.inc.mk diff --git a/boards/pba-d-01-kw2x/Makefile.include b/boards/pba-d-01-kw2x/Makefile.include index 99cfb993fa03..d3bc0c669584 100644 --- a/boards/pba-d-01-kw2x/Makefile.include +++ b/boards/pba-d-01-kw2x/Makefile.include @@ -10,8 +10,6 @@ export CPU_MODEL ?= mkw21d256vha5 PORT_LINUX ?= /dev/ttyACM0 PORT_DARWIN ?= $(firstword $(sort $(wildcard /dev/tty.usbmodem*))) -FLASHDEPS += $(RIOTCPU)/$(CPU)/dist/wdog-disable.bin - # We need special handling of the watchdog if we want to speed up the flash # verification by using the MCU to compute the image checksum after flashing. # wdog-disable.bin is a precompiled binary which will disable the watchdog and diff --git a/cpu/kinetis/Makefile.include b/cpu/kinetis/Makefile.include index c2b50b817d0f..2fe0fee18884 100644 --- a/cpu/kinetis/Makefile.include +++ b/cpu/kinetis/Makefile.include @@ -47,8 +47,4 @@ USEMODULE += periph_mcg endif USEMODULE += periph_wdog -# Define a recipe to build the watchdog disable binary, used when flashing -$(RIOTCPU)/$(CPU)/dist/wdog-disable.bin: $(RIOTCPU)/$(CPU)/dist/wdog-disable.s - $(Q)$(MAKE) -C $(RIOTCPU)/$(CPU)/dist/ $(notdir $@) - include $(RIOTMAKE)/arch/cortexm.inc.mk diff --git a/cpu/kinetis/dist/README.md b/cpu/kinetis/dist/README.md index 6490f1097f2b..478ee3c236ce 100644 --- a/cpu/kinetis/dist/README.md +++ b/cpu/kinetis/dist/README.md @@ -6,10 +6,15 @@ This directory contains tools for working with K60 CPUs. Watchdog disable ---------------- -wdog-disable.bin is a location-independent watchdog disable function with a breakpoint instruction at the end. Useful for disabling the watchdog directly from OpenOCD. +wdog-disable.bin is a location-independent watchdog disable function with a +breakpoint instruction at the end. Useful for disabling the watchdog directly +from OpenOCD. Usage: openocd -c 'reset halt' \ -c 'load_image wdog-disable.bin 0x20000000 bin' \ -c 'resume 0x20000000' # watchdog is disabled and core halted + +The file is saved generated in the repository to remove the need to have a +compiler when flashing. It is only 34 bytes binary. diff --git a/cpu/kinetis/dist/check-fcfield.sh b/cpu/kinetis/dist/check-fcfield.sh index 3a9bbd6807c1..294f19ee5b80 100755 --- a/cpu/kinetis/dist/check-fcfield.sh +++ b/cpu/kinetis/dist/check-fcfield.sh @@ -12,6 +12,8 @@ # @author Joakim NohlgÄrd # @author Francisco Molina +: ${OBJDUMP:=arm-none-eabi-objdump} + # elf, hex or bin file to flash FLASHFILE="$1" @@ -27,11 +29,11 @@ EXPECTED_FCFIELD="^fffffffffffffffffffffffffe..ffff$" get_fc_field() { if [ ${1##*.} = elf ]; then - arm-none-eabi-objdump -j.fcfield -s "${1}" + "${OBJDUMP}" -j.fcfield -s "${1}" elif [ ${1##*.} = bin ]; then - arm-none-eabi-objdump --start-address=${FCFIELD_START} --stop-address=${FCFIELD_END} -bbinary -marm ${1} -s + "${OBJDUMP}" --start-address=${FCFIELD_START} --stop-address=${FCFIELD_END} -bbinary -marm ${1} -s elif [ ${1##*.} = hex ]; then - arm-none-eabi-objdump --start-address=${FCFIELD_START} --stop-address=${FCFIELD_END} ${1} -s + "${OBJDUMP}" --start-address=${FCFIELD_START} --stop-address=${FCFIELD_END} ${1} -s else echo "Unkown file extension: ${1##*.}" exit 1 diff --git a/cpu/kinetis/dist/wdog-disable.bin b/cpu/kinetis/dist/wdog-disable.bin new file mode 100644 index 000000000000..a04ce5004e75 Binary files /dev/null and b/cpu/kinetis/dist/wdog-disable.bin differ