aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32/Makefile.include
diff options
context:
space:
mode:
authorPiotr Esden-Tempski2011-10-02 01:20:44 -0700
committerPiotr Esden-Tempski2011-10-02 01:25:33 -0700
commit5d97653163c3ea5148655a875c30cfef4ecbb60d (patch)
treef1f72f296e9c4469fdc29665d8b172a1fc8ac647 /examples/stm32/Makefile.include
parent0a66d52ec836b361521652a09c3ebf7cd91fcd0f (diff)
Added black magic probe flashing support to the example code makefile.
Diffstat (limited to 'examples/stm32/Makefile.include')
-rw-r--r--examples/stm32/Makefile.include13
1 files changed, 13 insertions, 0 deletions
diff --git a/examples/stm32/Makefile.include b/examples/stm32/Makefile.include
index f370f45..a4512e9 100644
--- a/examples/stm32/Makefile.include
+++ b/examples/stm32/Makefile.include
@@ -24,6 +24,7 @@ CC = $(PREFIX)-gcc
LD = $(PREFIX)-gcc
OBJCOPY = $(PREFIX)-objcopy
OBJDUMP = $(PREFIX)-objdump
+GDB = $(PREFIX)-gdb
# Uncomment this line if you want to use the installed (not local) library.
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
TOOLCHAIN_DIR = ../../../..
@@ -38,6 +39,9 @@ OBJS += $(BINARY).o
OOCD ?= openocd
OOCD_INTERFACE ?= flossjtag
OOCD_BOARD ?= olimex_stm32_h103
+# Black magic probe specific variables
+# Set the BMP_PORT to a serial port and then BMP is used for flashing
+BMP_PORT ?=
# Be silent per default, but 'make V=1' will show all compiler calls.
ifneq ($(V),1)
@@ -92,6 +96,7 @@ clean:
$(Q)rm -f *.srec
$(Q)rm -f *.list
+ifeq ($(BMP_PORT),)
ifeq ($(OOCD_SERIAL),)
%.flash: %.hex
@printf " FLASH $<\n"
@@ -116,6 +121,14 @@ else
-c "reset" \
-c "shutdown" $(NULL)
endif
+else
+%.flash: %.elf
+ @echo " GDB $(*).elf (flash)"
+ $(Q)$(GDB) --batch \
+ -ex 'target extended-remote $(BMP_PORT)' \
+ -x $(TOOLCHAIN_DIR)/scripts/black_magic_probe_flash.scr \
+ $(*).elf
+endif
.PHONY: images clean