aboutsummaryrefslogtreecommitdiff
path: root/bin/debug
blob: 55532700a17f4775c834802290d16665b4181b48 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh

PROJ="${1?'project'}"

OPENOCD=openocd
OPENOCD_BOARD_DIR=/usr/share/openocd/scripts/board
OPENOCD_PROC_FILE=stm32f4discovery.cfg
if [ "x`lsusb -d 0483:374b`" != "x" ]; then
    for fn in st_nucleo_f4.cfg st_nucleo_f401re.cfg; do
        if [ -f "$OPENOCD_BOARD_DIR/$fn" ]; then
	    OPENOCD_PROC_FILE="$fn"
	fi
    done
fi
$OPENOCD -f $OPENOCD_BOARD_DIR/$OPENOCD_PROC_FILE &

for gdb in gdb-multiarch arm-none-eabi-gdb; do
    if command -v $gdb &>/dev/null; then
	GDB=$gdb
	break
    fi
done

$GDB -ex "target remote localhost:3333" -ex "set remote hardware-breakpoint-limit 6" -ex "set remote hardware-watchpoint-limit 4" $PROJ.elf

kill -9 $(pidof $OPENOCD)