From 9f925bc900d397461adafeff4a43dce6a74f68d0 Mon Sep 17 00:00:00 2001 From: Dima Barsky Date: Fri, 16 Apr 2021 14:23:27 +0100 Subject: [PATCH] Added support for Black Magic Probe (#787) * Added flash-bmp and debug-bmp targets; added .gdb_history to .gitignore * Added the BMP variable, defaults to /dev/ttyBmpGdb The name of the BMP device is different on different systems. On Linux (after installing the recommended udev rules) it'll be /dev/ttyBmpGdb, but the user should be able to override it. * Update rules.mk --- .gitignore | 1 + examples/make.mk | 1 + examples/rules.mk | 10 ++++++++++ 3 files changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index 093bcc57..f7adff4c 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ latex .env .settings/ .idea/ +.gdb_history /examples/*/*/build* test_old/ tests_obsolete/ diff --git a/examples/make.mk b/examples/make.mk index e04a2592..6366d6ce 100644 --- a/examples/make.mk +++ b/examples/make.mk @@ -57,6 +57,7 @@ CROSS_COMPILE ?= arm-none-eabi- CC = $(CROSS_COMPILE)gcc CXX = $(CROSS_COMPILE)g++ +GDB = $(CROSS_COMPILE)gdb OBJCOPY = $(CROSS_COMPILE)objcopy SIZE = $(CROSS_COMPILE)size MKDIR = mkdir diff --git a/examples/rules.mk b/examples/rules.mk index a19cd678..e5fbee82 100644 --- a/examples/rules.mk +++ b/examples/rules.mk @@ -170,6 +170,16 @@ flash-pyocd: $(BUILD)/$(PROJECT).hex pyocd flash -t $(PYOCD_TARGET) $< pyocd reset -t $(PYOCD_TARGET) +# flash with Black Magic Probe + +# This symlink is created by https://github.com/blacksphere/blackmagic/blob/master/driver/99-blackmagic.rules +BMP ?= /dev/ttyBmpGdb + +flash-bmp: $(BUILD)/$(PROJECT).elf + $(GDB) --batch -ex 'target extended-remote $(BMP)' -ex 'monitor swdp_scan' -ex 'attach 1' -ex load $< + +debug-bmp: $(BUILD)/$(PROJECT).elf + $(GDB) -ex 'target extended-remote $(BMP)' -ex 'monitor swdp_scan' -ex 'attach 1' $< #-------------- Artifacts --------------