From daa681dfe646611140ad12d8ee22e0bf8fb57099 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Fri, 19 Sep 2025 19:37:24 +0200 Subject: [PATCH] misc/Makefile: Fix jlink target. Signed-off-by: iabdalkader --- Makefile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index db16c6b5e..9d298945d 100755 --- a/Makefile +++ b/Makefile @@ -255,10 +255,18 @@ endif jlink: setsid ${JLINK_GDB_SERVER} -speed ${JLINK_SPEED} -nogui \ -if ${JLINK_INTERFACE} -halt -cpu cortex-m \ - -device ${JLINK_DEVICE} -novd ${JLINK_SCRIPT} >/dev/null 2>&1 & \ - JLINK_PID=$$!; \ - trap "kill $$JLINK_PID 2>/dev/null" EXIT; \ - sleep 1 && jlink-gdb $(FW_DIR)/$(FIRMWARE).elf + -device ${JLINK_DEVICE} -novd ${JLINK_SCRIPT} \ + >/dev/null 2>&1 & \ + trap "pkill -f JLinkGDBServer 2>/dev/null" EXIT; \ + for i in $$(seq 1 3); do \ + if ss -ln | grep -q ":2331 "; then break; fi; \ + sleep 1; \ + done; \ + if ! ss -ln | grep -q ":2331 "; then \ + echo "J-Link GDB server failed to start after 3 seconds"; \ + exit 1; \ + fi; \ + jlink-gdb $(FW_DIR)/$(FIRMWARE).elf submodules: $(MAKE) -C $(MICROPY_DIR)/ports/$(PORT) BOARD=$(TARGET) submodules