It is with keil ulink2, attached patch make it functional  but RUN and CONNECT leds works similary (i don't know how to make it properly).
diff -urN a/src/jtag/drivers/cmsis_dap_usb.c b/src/jtag/drivers/cmsis_dap_usb.c
--- a/src/jtag/drivers/cmsis_dap_usb.c	2019-12-27 10:01:18.000000000 +0300
+++ b/src/jtag/drivers/cmsis_dap_usb.c	2019-12-27 10:25:00.000000000 +0300
@@ -509,15 +509,15 @@
 	return ERROR_OK;
 }
 
-static int cmsis_dap_cmd_DAP_LED(uint8_t leds)
+static int cmsis_dap_cmd_DAP_LED(uint8_t led, uint8_t state)
 {
 	int retval;
 	uint8_t *buffer = cmsis_dap_handle->packet_buffer;
 
 	buffer[0] = 0;	/* report number */
 	buffer[1] = CMD_DAP_LED;
-	buffer[2] = 0x00;
-	buffer[3] = leds;
+	buffer[2] = led;
+	buffer[3] = state;
 	retval = cmsis_dap_usb_xfer(cmsis_dap_handle, 4);
 
 	if (retval != ERROR_OK || buffer[1] != 0x00) {
@@ -1086,8 +1086,12 @@
 		if (retval != ERROR_OK)
 			return ERROR_FAIL;
 	}
+	/* Both LEDs on */
+	retval = cmsis_dap_cmd_DAP_LED(LED_ID_CONNECT, LED_ON);
+	if (retval != ERROR_OK)
+		return ERROR_FAIL;
 
-	retval = cmsis_dap_cmd_DAP_LED(0x03);		/* Both LEDs on */
+	retval = cmsis_dap_cmd_DAP_LED(LED_ID_RUN, LED_ON);
 	if (retval != ERROR_OK)
 		return ERROR_FAIL;
 
@@ -1102,9 +1106,6 @@
 			LOG_INFO("Connecting under reset");
 		}
 	}
-
-	cmsis_dap_cmd_DAP_LED(0x00);			/* Both LEDs off */
-
 	LOG_INFO("CMSIS-DAP: Interface ready");
 
 	return ERROR_OK;
@@ -1119,7 +1120,9 @@
 static int cmsis_dap_quit(void)
 {
 	cmsis_dap_cmd_DAP_Disconnect();
-	cmsis_dap_cmd_DAP_LED(0x00);		/* Both LEDs off */
+	/* Both LEDs off */
+	cmsis_dap_cmd_DAP_LED(LED_ID_RUN, LED_OFF);
+	cmsis_dap_cmd_DAP_LED(LED_ID_CONNECT, LED_OFF);
 
 	cmsis_dap_usb_close(cmsis_dap_handle);
 
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to