From 59a16f3f5191e2aa94f939a436bfea3aa2064700 Mon Sep 17 00:00:00 2001
From: CNLohr <lohr85@gmail.com>
Date: Fri, 5 May 2023 07:42:46 -0400
Subject: [PATCH] Make it all work in vscode!

---
 ch32v003fun/ch32v003fun.mk                   |  10 +++++++++-
 examples/debugprintfdemo/.vscode/launch.json |   2 +-
 examples/debugprintfdemo/.vscode/tasks.json  |   4 ++--
 minichlink/microgdbstub.h                    |   1 +
 minichlink/minichlink.exe                    | Bin 79872 -> 79872 bytes
 5 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/ch32v003fun/ch32v003fun.mk b/ch32v003fun/ch32v003fun.mk
index 756acc6..0f74ac4 100644
--- a/ch32v003fun/ch32v003fun.mk
+++ b/ch32v003fun/ch32v003fun.mk
@@ -28,11 +28,19 @@ $(TARGET).bin : $(TARGET).elf
 	$(PREFIX)-objcopy -O binary $< $(TARGET).bin
 	$(PREFIX)-objcopy -O ihex $< $(TARGET).hex
 
+ifeq ($(OS),Windows_NT)
+closechlink :
+	-taskkill /F /IM minichlink.exe /T
+else
+closechlink :
+	-killall minichlink
+endif
+
 monitor : 
 	$(MINICHLINK)/minichlink -T
 
 gdbserver : 
-	$(MINICHLINK)/minichlink -G || true
+	-$(MINICHLINK)/minichlink -beG
 
 cv_flash : $(TARGET).bin
 	make -C $(MINICHLINK) all
diff --git a/examples/debugprintfdemo/.vscode/launch.json b/examples/debugprintfdemo/.vscode/launch.json
index 3ba758b..13c1789 100644
--- a/examples/debugprintfdemo/.vscode/launch.json
+++ b/examples/debugprintfdemo/.vscode/launch.json
@@ -19,7 +19,7 @@
 				"ignoreFailures": true
 			}
 			],
-			"miDebuggerPath": "/usr/bin/gdb-multiarch",
+			"miDebuggerPath": "gdb-multiarch",
 			"miDebuggerServerAddress": "127.0.0.1:2000"
 		},
 		{
diff --git a/examples/debugprintfdemo/.vscode/tasks.json b/examples/debugprintfdemo/.vscode/tasks.json
index 0e0393d..d086ce2 100644
--- a/examples/debugprintfdemo/.vscode/tasks.json
+++ b/examples/debugprintfdemo/.vscode/tasks.json
@@ -11,12 +11,12 @@
 				"panel": "shared",
 				"showReuseMessage" : false
 			},
-			"command": "killall minichlink; make flash",
+			"command": "make closechlink flash",
 		},
 		{
 			"type": "shell",
 			"label": "run_flash_and_gdbserver",
-			"command": "killall minichlink; make flash gdbserver",
+			"command": "make closechlink flash gdbserver",
 
 			"presentation": {
 				"echo": true,
diff --git a/minichlink/microgdbstub.h b/minichlink/microgdbstub.h
index b55cfea..7b6647b 100644
--- a/minichlink/microgdbstub.h
+++ b/minichlink/microgdbstub.h
@@ -183,6 +183,7 @@ void HandleGDBPacket( void * dev, char * data, int len )
 		break;
 	case 'c':
 	case 'C':
+	case 's':
 		RVDebugExec( dev, (cmd == 'C')?4:2 );
 		SendReplyFull( "OK" );
 		break;
diff --git a/minichlink/minichlink.exe b/minichlink/minichlink.exe
index bbf21f1713659adb1607a37fd96274ece88cc575..eda0a5a992c0971a374653f4e5e505ddabd6859f 100644
GIT binary patch
delta 38
tcmZqpz|!!6WkLrN-^+<zeoStMHs0!b!xZhiIqmH{Eui3bHVMXG@&H#W5Y7Mq

delta 38
tcmZqpz|!!6WkLs2+tZ0%eoV3ZH{R-c!_*YGIqmH{Eui3bHVMXG@&Igd5%mB7

-- 
GitLab