1 .PHONY
: .FORCE openocd-cfg
$(OPENOCD_CFG
) openocd-run openocd-flash
3 OPENOCD_CFG ?
= $(TARGET_OBJ_DIR
)/openocd.cfg
4 CLEAN_ARTIFACTS
+= $(OPENOCD_CFG
)
9 ifeq ($(OPENOCD_INTERFACE
),)
11 OPENOCD_INTERFACE
:= stlink-v1
12 else ifeq ($(STLINK
),2)
13 OPENOCD_INTERFACE
:= stlink-v2
14 else ifeq ($(STLINK
),2.1)
15 OPENOCD_INTERFACE
:= stlink-v2-1
17 $(error Uknown ST Link version
$(STLINK
))
21 ifeq ($(OPENOCD_TARGET
),)
22 ifeq ($(TARGET_MCU_GROUP
),STM32F3
)
23 OPENOCD_TARGET
:= stm32f3x
24 else ifeq ($(TARGET_MCU_GROUP
),STM32F4
)
25 OPENOCD_TARGET
:= stm32f4x
26 else ifeq ($(TARGET_MCU_GROUP
),STM32F7
)
27 OPENOCD_TARGET
:= stm32f7x
31 ifeq ($(OPENOCD_TARGET
),)
32 $(warning Unknown OPENOCD_TARGET
)
35 OPENOCD_CMDLINE
:= $(OPENOCD_CMD
) -f
$(OPENOCD_CFG
)
37 openocd-cfg
: $(OPENOCD_CFG
)
39 $(OPENOCD_CFG
): .FORCE
40 $(V1
) mkdir
-p
$(dir $@
)
41 $(V1
) echo
"source [find interface/$(OPENOCD_INTERFACE).cfg]" > $@
42 $(V1
) echo
"source [find target/$(OPENOCD_TARGET).cfg]" >> $@
44 openocd-run
: $(OPENOCD_CFG
)
47 openocd-flash
: $(TARGET_ELF
) $(OPENOCD_CFG
)
48 (echo
"halt; program $(realpath $<) verify reset" | nc
-4 localhost
4444 2>/dev
/null
) || \
49 $(OPENOCD_CMDLINE
) -c
"program $< verify reset exit"