mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-26 16:30:07 +08:00
[conf] slightly easier configuration when using BlackMagicProbe
if FLASH_MODE=JTAG and BMP_PORT set, use jtag via bmp if FLASH_MODE=SWD use that via bmp, print error if BMP_PORT not set
This commit is contained in:
+39
-10
@@ -231,15 +231,26 @@ $(AOBJ) : $(OBJDIR)/%.o : %.S
|
||||
$(Q)test -d $(dir $@) || mkdir -p $(dir $@)
|
||||
$(Q)$(CC) -c $(AFLAGS) $< -o $@
|
||||
|
||||
#
|
||||
# check which flash mode is configured
|
||||
#
|
||||
ifeq ($(FLASH_MODE),DFU)
|
||||
#
|
||||
# DFU flash mode
|
||||
upload: $(OBJDIR)/$(TARGET).bin
|
||||
@echo "Using stm32 mem dfu loader"
|
||||
$(PYTHON) $(PAPARAZZI_SRC)/sw/tools/dfu/stm32_mem.py $^
|
||||
#
|
||||
# serial flash mode
|
||||
else ifeq ($(FLASH_MODE),SERIAL)
|
||||
upload: $(OBJDIR)/$(TARGET).bin
|
||||
$(LOADER) -p /dev/ttyUSB0 -b 115200 -e -w -v $^
|
||||
#
|
||||
# JTAG flash mode
|
||||
else ifeq ($(FLASH_MODE),JTAG)
|
||||
# either via normal jtag or BlackMagicProbe
|
||||
ifeq ($(BMP_PORT),)
|
||||
# normal jtag via OpenOCD
|
||||
upload: $(OBJDIR)/$(TARGET).hex
|
||||
@echo "Assuming luftboot bootloader: $(ASSUMING_LUFTBOOT)"
|
||||
@echo "Using OOCD = $(OOCD)"
|
||||
@@ -254,18 +265,13 @@ upload: $(OBJDIR)/$(TARGET).hex
|
||||
-c reset \
|
||||
-c shutdown
|
||||
else
|
||||
ifndef $(BMP_UPLOAD_SCRIPT)
|
||||
ifeq ($(BMP_METHOD),JTAG)
|
||||
BMP_UPLOAD_SCRIPT = $(PAPARAZZI_SRC)/conf/boards/upload_scripts/bmp_jtag_flash.scr
|
||||
else ifeq ($(BMP_METHOD),SWD)
|
||||
BMP_UPLOAD_SCRIPT = $(PAPARAZZI_SRC)/conf/boards/upload_scripts/bmp_swd_flash.scr
|
||||
else
|
||||
BMP_UPLOAD_SCRIPT = $(PAPARAZZI_SRC)/sw/ext/libopencm3/scripts/black_magic_probe_flash.scr
|
||||
endif
|
||||
endif
|
||||
# jtag via BMP
|
||||
ifndef $(BMP_UPLOAD_SCRIPT)
|
||||
BMP_UPLOAD_SCRIPT = $(PAPARAZZI_SRC)/conf/boards/upload_scripts/bmp_jtag_flash.scr
|
||||
endif
|
||||
|
||||
upload: $(OBJDIR)/$(TARGET).elf
|
||||
@echo "Using Black Magic Probe"
|
||||
@echo "Using Black Magic Probe with JTAG"
|
||||
@echo "Using GDB = $(GDB)"
|
||||
@echo " BMP\t$<"
|
||||
$(Q)$(GDB) --batch \
|
||||
@@ -273,6 +279,29 @@ upload: $(OBJDIR)/$(TARGET).elf
|
||||
-x $(BMP_UPLOAD_SCRIPT) \
|
||||
$<
|
||||
endif
|
||||
#
|
||||
# SWD flash mode
|
||||
else ifeq ($(FLASH_MODE),SWD)
|
||||
# only works if BMP_PORT is defined
|
||||
ifneq ($(BMP_PORT),)
|
||||
ifndef $(BMP_UPLOAD_SCRIPT)
|
||||
BMP_UPLOAD_SCRIPT = $(PAPARAZZI_SRC)/conf/boards/upload_scripts/bmp_swd_flash.scr
|
||||
endif
|
||||
upload: $(OBJDIR)/$(TARGET).elf
|
||||
@echo "Using Black Magic Probe with SWD"
|
||||
@echo "Using GDB = $(GDB)"
|
||||
@echo " BMP\t$<"
|
||||
$(Q)$(GDB) --batch \
|
||||
-ex 'target extended-remote $(BMP_PORT)' \
|
||||
-x $(BMP_UPLOAD_SCRIPT) \
|
||||
$<
|
||||
else
|
||||
# print error if BMP_PORT not specified
|
||||
upload:
|
||||
@echo "BMP_PORT not specified for SWD flash mode"
|
||||
endif
|
||||
#
|
||||
# no known flash mode
|
||||
else
|
||||
upload:
|
||||
@echo unknown flash_mode $(FLASH_MODE)
|
||||
|
||||
Reference in New Issue
Block a user