mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-22 07:45:24 +03:00
49 lines
1.2 KiB
Makefile
49 lines
1.2 KiB
Makefile
.PHONY: .FORCE openocd-cfg $(OPENOCD_CFG) openocd-run openocd-flash
|
|
|
|
OPENOCD_CFG ?= $(TARGET_OBJ_DIR)/openocd.cfg
|
|
CLEAN_ARTIFACTS += $(OPENOCD_CFG)
|
|
OPENOCD_CMD ?= openocd
|
|
|
|
STLINK ?= 2
|
|
|
|
ifeq ($(OPENOCD_INTERFACE),)
|
|
ifeq ($(STLINK),1)
|
|
OPENOCD_INTERFACE := stlink-v1
|
|
else ifeq ($(STLINK),2)
|
|
OPENOCD_INTERFACE := stlink-v2
|
|
else ifeq ($(STLINK),2.1)
|
|
OPENOCD_INTERFACE := stlink-v2-1
|
|
else
|
|
$(error Uknown ST Link version $(STLINK))
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OPENOCD_TARGET),)
|
|
ifeq ($(TARGET_MCU_GROUP),STM32F3)
|
|
OPENOCD_TARGET := stm32f3x
|
|
else ifeq ($(TARGET_MCU_GROUP),STM32F4)
|
|
OPENOCD_TARGET := stm32f4x
|
|
else ifeq ($(TARGET_MCU_GROUP),STM32F7)
|
|
OPENOCD_TARGET := stm32f7x
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(OPENOCD_TARGET),)
|
|
$(warning Unknown OPENOCD_TARGET)
|
|
endif
|
|
|
|
OPENOCD_CMDLINE := $(OPENOCD_CMD) -f $(OPENOCD_CFG)
|
|
|
|
openocd-cfg: $(OPENOCD_CFG)
|
|
|
|
$(OPENOCD_CFG): .FORCE
|
|
$(V1) mkdir -p $(dir $@)
|
|
$(V1) echo "source [find interface/$(OPENOCD_INTERFACE).cfg]" > $@
|
|
$(V1) echo "source [find target/$(OPENOCD_TARGET).cfg]" >> $@
|
|
|
|
openocd-run: $(OPENOCD_CFG)
|
|
$(OPENOCD_CMDLINE)
|
|
|
|
openocd-flash: $(TARGET_ELF) $(OPENOCD_CFG)
|
|
(echo "halt; program $(realpath $<) verify reset" | nc -4 localhost 4444 2>/dev/null) || \
|
|
$(OPENOCD_CMDLINE) -c "program $< verify reset exit"
|