mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
boards/pba-d-01-kw2x: adapt for unified OpenOCD script
This commit is contained in:
parent
175d3d7747
commit
b9903b2e67
@ -23,24 +23,46 @@ export AS = $(PREFIX)as
|
||||
export LINK = $(PREFIX)gcc
|
||||
export SIZE = $(PREFIX)size
|
||||
export OBJCOPY = $(PREFIX)objcopy
|
||||
export OPENOCD ?= openocd
|
||||
export DBG ?= $(PREFIX)gdb
|
||||
export TERMPROG = $(RIOTBASE)/dist/tools/pyterm/pyterm
|
||||
export FLASHER = $(RIOTBOARD)/$(BOARD)/dist/flash.sh
|
||||
export DEBUGGER = $(RIOTBOARD)/$(BOARD)/dist/debug.sh
|
||||
export RESET = $(RIOTBOARD)/$(BOARD)/dist/reset.sh
|
||||
export DEBUGSERVER = openocd
|
||||
export FLASHER = $(RIOTBASE)/dist/tools/openocd/openocd.sh
|
||||
export DEBUGGER = $(RIOTBASE)/dist/tools/openocd/openocd.sh
|
||||
export DEBUGSERVER = $(RIOTBASE)/dist/tools/openocd/openocd.sh
|
||||
export RESET = $(RIOTBASE)/dist/tools/openocd/openocd.sh
|
||||
|
||||
.PHONY: flash
|
||||
flash: $(RIOTCPU)/kinetis_common/dist/wdog-disable.bin
|
||||
|
||||
# Reset the default goal.
|
||||
.DEFAULT_GOAL :=
|
||||
|
||||
|
||||
# define build specific options
|
||||
CPU_USAGE = -mcpu=cortex-m4
|
||||
FPU_USAGE =
|
||||
export CPU_USAGE = -mcpu=cortex-m4
|
||||
export FPU_USAGE =
|
||||
export CFLAGS += -ggdb -g3 -std=gnu99 -Os -Wall -Wstrict-prototypes $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian -mthumb -mthumb-interwork -nostartfiles
|
||||
export CFLAGS += -ffunction-sections -fdata-sections -fno-builtin
|
||||
|
||||
export ASFLAGS += -ggdb -g3 $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian
|
||||
export LINKFLAGS += -g3 -ggdb -std=gnu99 $(CPU_USAGE) $(FPU_USAGE) -mlittle-endian -static -lgcc -mthumb -mthumb-interwork -nostartfiles
|
||||
export LINKFLAGS += -T$(LINKERSCRIPT)
|
||||
export OFLAGS = -O binary
|
||||
export FFLAGS = $(HEXFILE)
|
||||
export DEBUGGER_FLAGS = $(RIOTBOARD)/$(BOARD)/dist/gdb.conf $(ELFFILE)
|
||||
|
||||
export FFLAGS = flash-elf
|
||||
export DEBUGGER_FLAGS = debug
|
||||
export DEBUGSERVER_FLAGS = debug-server
|
||||
export RESET_FLAGS = reset
|
||||
export TERMFLAGS = -p $(PORT)
|
||||
export TUI = 1
|
||||
# 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
|
||||
# return control to the debugger (OpenOCD)
|
||||
export OPENOCD_PRE_VERIFY_CMDS += \
|
||||
-c 'load_image $(RIOTCPU)/kinetis_common/dist/wdog-disable.bin 0x20000000 bin' \
|
||||
-c 'resume 0x20000000'
|
||||
export OPENOCD_EXTRA_INIT
|
||||
export PRE_FLASH_CHECK_SCRIPT = $(RIOTCPU)/kinetis_common/dist/check-fcfield-elf.sh
|
||||
|
||||
# use newLib nano-specs if available
|
||||
ifeq ($(shell $(LINK) -specs=nano.specs -E - 2>/dev/null >/dev/null </dev/null ; echo $$?),0)
|
||||
|
38
boards/pba-d-01-kw2x/dist/debug.sh
vendored
38
boards/pba-d-01-kw2x/dist/debug.sh
vendored
@ -1,38 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Based on iot-lab_M3 debug.sh script.
|
||||
# Author: Jonas Remmert j.remmert@phytec.de
|
||||
|
||||
red='\033[0;31m'
|
||||
green='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
openocd -f "$RIOTBASE/boards/pba-d-01-kw2x/dist/mkw22d512.cfg" \ #"${RIOTBOARD}/${BOARD}/dist/mkw22d512.cfg" \
|
||||
-c "tcl_port 6333" \
|
||||
-c "telnet_port 4444" \
|
||||
-c "init" \
|
||||
-c "targets" \
|
||||
-c "reset halt" \
|
||||
-l /dev/null &
|
||||
|
||||
# save pid to terminate afterwards
|
||||
OCD_PID=$?
|
||||
|
||||
# needed for openocd to set up
|
||||
sleep 1
|
||||
|
||||
retval=$(arm-none-eabi-readelf -x .fcfield $2 | awk '/0x00000400/ {print $2 $3 $4 $5}')
|
||||
unlocked_fcfield="fffffffffffffffffffffffffeffffff"
|
||||
|
||||
if [ "$retval" == "$unlocked_fcfield" ]; then
|
||||
echo -e "Flash configuration tested...${green} [OK]${NC}"
|
||||
arm-none-eabi-gdb -tui --command=${1} ${2}
|
||||
#cgdb -d arm-none-eabi-gdb --command=${1} ${2}
|
||||
|
||||
else
|
||||
echo "Hexdump, .fcfield of $2"
|
||||
retval=$(arm-none-eabi-readelf -x .fcfield $2)
|
||||
echo $retval
|
||||
echo -e "Fcfield not fitting to MKW22Dxxx, danger of bricking the device during flash...${red} [ABORT]${NC}"
|
||||
fi
|
||||
kill ${OCD_PID}
|
52
boards/pba-d-01-kw2x/dist/flash.sh
vendored
52
boards/pba-d-01-kw2x/dist/flash.sh
vendored
@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Based on iot-lab_M3 debug.sh script.
|
||||
# Author: Jonas Remmert j.remmert@phytec.de
|
||||
|
||||
elffile=`echo $1 | sed 's/.hex/.elf/'`
|
||||
|
||||
red='\033[0;31m'
|
||||
green='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo The file: $elffile will be flashed to the board: $BOARD .
|
||||
#echo Press y to proceed, v to proceed with verify or any other key to abort.
|
||||
#read x
|
||||
|
||||
retval=$(arm-none-eabi-readelf -x .fcfield $elffile | awk '/0x00000400/ {print $2 $3 $4 $5}')
|
||||
unlocked_fcfield="fffffffffffffffffffffffffeffffff"
|
||||
|
||||
if [ "$retval" != "$unlocked_fcfield" ]; then
|
||||
echo "Hexdump, .fcfield of $elffile"
|
||||
retval=$(arm-none-eabi-readelf -x .fcfield $elffile)
|
||||
echo $retval
|
||||
echo -e "Fcfield not fitting to MKW2xDxxx, danger of bricking the device during flash...${red} [ABORT]${NC}"
|
||||
exit 0
|
||||
fi
|
||||
echo -e "Flash configuration tested...${green} [OK]${NC}"
|
||||
|
||||
|
||||
# flash without verify
|
||||
#if [ $x = "y" ] || [ $x = "v" ];# -o $x -eq v ];
|
||||
#then
|
||||
echo -e "${red}Flashing device, do not disconnect or reset the target until this script exits!!!${NC}"
|
||||
openocd -f "$RIOTBASE/boards/pba-d-01-kw2x/dist/mkw22d512.cfg" \
|
||||
-c "init" \
|
||||
-c "reset halt" \
|
||||
-c "flash write_image erase $elffile" \
|
||||
-c "reset run" \
|
||||
-c "exit"
|
||||
#fi
|
||||
|
||||
# verify
|
||||
#if [ "$x" = "v" ];
|
||||
#then
|
||||
#echo -e "${red}Flashing device, do not disconnect or reset the target until this script exits!!!${NC}"
|
||||
#openocd -f "$RIOTBASE/boards/pba-d-01-kw2x/dist/mkw22d512.cfg" \
|
||||
# -c "init" \
|
||||
# -c "reset halt" \
|
||||
# -c "verify_image $elffile" \
|
||||
# -c "reset run" \
|
||||
# -c "exit"
|
||||
#fi
|
||||
echo -e "${green}done...${NC}"
|
4
boards/pba-d-01-kw2x/dist/gdb.conf
vendored
4
boards/pba-d-01-kw2x/dist/gdb.conf
vendored
@ -1,4 +0,0 @@
|
||||
target remote localhost:3333
|
||||
monitor reset halt
|
||||
set print pretty
|
||||
set arm force-mode thumb
|
6
boards/pba-d-01-kw2x/dist/reset.sh
vendored
6
boards/pba-d-01-kw2x/dist/reset.sh
vendored
@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
openocd -f "$RIOTBASE/boards/pba-d-01-kw2x/dist/mkw22d512.cfg" \
|
||||
-c "init" \
|
||||
-c "reset run" \
|
||||
-c "shutdown"
|
Loading…
Reference in New Issue
Block a user