aboutsummaryrefslogtreecommitdiff
path: root/bin/debug
blob: f87a3b5bdda49022b57741e16a029a988fe7fe99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/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
    OPENOCD_PROC_FILE=st_nucleo_f4.cfg
fi
$OPENOCD -f $OPENOCD_BOARD_DIR/$OPENOCD_PROC_FILE &

GDB=arm-none-eabi-gdb
$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)
mo main.o $(BOARD_OBJS) $(LIBC_OBJS) $(LIBS) $(CC) $(CFLAGS) $^ -o $*.elf -T$(LDSCRIPT) -g -Wl,-Map=$*.map $(OBJCOPY) -O binary $*.elf $*.bin $(SIZE) $*.elf # don't automatically delete objects, to avoid a lot of unnecessary rebuilding .SECONDARY: $(BOARD_OBJS) $(LIBC_OBJS) clean: rm -f *.o *.mo rm -f *.elf rm -f *.bin rm -f *.map