Added black magic probe flashing support to the example code makefile.
This commit is contained in:
parent
0a66d52ec8
commit
5d97653163
4
Makefile
4
Makefile
|
@ -22,6 +22,7 @@ PREFIX ?= arm-elf
|
||||||
DESTDIR ?= /usr/local
|
DESTDIR ?= /usr/local
|
||||||
INCDIR = $(DESTDIR)/$(PREFIX)/include
|
INCDIR = $(DESTDIR)/$(PREFIX)/include
|
||||||
LIBDIR = $(DESTDIR)/$(PREFIX)/lib
|
LIBDIR = $(DESTDIR)/$(PREFIX)/lib
|
||||||
|
SHAREDIR = $(DESTDIR)/$(PREFIX)/share/libopencm3/scripts
|
||||||
INSTALL = install
|
INSTALL = install
|
||||||
|
|
||||||
TARGETS = stm32 lpc13xx lm3s
|
TARGETS = stm32 lpc13xx lm3s
|
||||||
|
@ -57,11 +58,14 @@ install: lib
|
||||||
@printf " INSTALL headers\n"
|
@printf " INSTALL headers\n"
|
||||||
$(Q)$(INSTALL) -d $(INCDIR)/libopencm3
|
$(Q)$(INSTALL) -d $(INCDIR)/libopencm3
|
||||||
$(Q)$(INSTALL) -d $(LIBDIR)
|
$(Q)$(INSTALL) -d $(LIBDIR)
|
||||||
|
$(Q)$(INSTALL) -d $(SHAREDIR)
|
||||||
$(Q)cp -r include/libopencm3/* $(INCDIR)/libopencm3
|
$(Q)cp -r include/libopencm3/* $(INCDIR)/libopencm3
|
||||||
@printf " INSTALL libs\n"
|
@printf " INSTALL libs\n"
|
||||||
$(Q)$(INSTALL) -m 0644 lib/*/*.a $(LIBDIR)
|
$(Q)$(INSTALL) -m 0644 lib/*/*.a $(LIBDIR)
|
||||||
@printf " INSTALL ldscripts\n"
|
@printf " INSTALL ldscripts\n"
|
||||||
$(Q)$(INSTALL) -m 0644 lib/*/*.ld $(LIBDIR)
|
$(Q)$(INSTALL) -m 0644 lib/*/*.ld $(LIBDIR)
|
||||||
|
@printf " INSTALL scripts\n"
|
||||||
|
$(Q)$(INSTALL) -m 0644 scripts/* $(SHAREDIR)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$(Q)for i in $(addprefix lib/,$(TARGETS)) \
|
$(Q)for i in $(addprefix lib/,$(TARGETS)) \
|
||||||
|
|
|
@ -24,6 +24,7 @@ CC = $(PREFIX)-gcc
|
||||||
LD = $(PREFIX)-gcc
|
LD = $(PREFIX)-gcc
|
||||||
OBJCOPY = $(PREFIX)-objcopy
|
OBJCOPY = $(PREFIX)-objcopy
|
||||||
OBJDUMP = $(PREFIX)-objdump
|
OBJDUMP = $(PREFIX)-objdump
|
||||||
|
GDB = $(PREFIX)-gdb
|
||||||
# Uncomment this line if you want to use the installed (not local) library.
|
# Uncomment this line if you want to use the installed (not local) library.
|
||||||
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
|
# TOOLCHAIN_DIR = `dirname \`which $(CC)\``/../$(PREFIX)
|
||||||
TOOLCHAIN_DIR = ../../../..
|
TOOLCHAIN_DIR = ../../../..
|
||||||
|
@ -38,6 +39,9 @@ OBJS += $(BINARY).o
|
||||||
OOCD ?= openocd
|
OOCD ?= openocd
|
||||||
OOCD_INTERFACE ?= flossjtag
|
OOCD_INTERFACE ?= flossjtag
|
||||||
OOCD_BOARD ?= olimex_stm32_h103
|
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.
|
# Be silent per default, but 'make V=1' will show all compiler calls.
|
||||||
ifneq ($(V),1)
|
ifneq ($(V),1)
|
||||||
|
@ -92,6 +96,7 @@ clean:
|
||||||
$(Q)rm -f *.srec
|
$(Q)rm -f *.srec
|
||||||
$(Q)rm -f *.list
|
$(Q)rm -f *.list
|
||||||
|
|
||||||
|
ifeq ($(BMP_PORT),)
|
||||||
ifeq ($(OOCD_SERIAL),)
|
ifeq ($(OOCD_SERIAL),)
|
||||||
%.flash: %.hex
|
%.flash: %.hex
|
||||||
@printf " FLASH $<\n"
|
@printf " FLASH $<\n"
|
||||||
|
@ -116,6 +121,14 @@ else
|
||||||
-c "reset" \
|
-c "reset" \
|
||||||
-c "shutdown" $(NULL)
|
-c "shutdown" $(NULL)
|
||||||
endif
|
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
|
.PHONY: images clean
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
monitor version
|
||||||
|
monitor swdp_scan
|
||||||
|
attach 1
|
||||||
|
run
|
|
@ -0,0 +1,4 @@
|
||||||
|
monitor version
|
||||||
|
monitor swdp_scan
|
||||||
|
attach 1
|
||||||
|
load
|
Loading…
Reference in New Issue