Well, what I called sort-of-bug, maybe should remain there but should be better 
When using cmsis_dap_vid_pid command openocd skips the check for product_string 
containing "CMSIS-DAP".
But different backend for libhidapi report different value as product_string.
The CMSIS-DAP spec say that the "iProduct" from the USB Device Descriptor must 
contain "CMSIS-DAP" and, in case of composite devices, also the interface 
string must contain the same text. But on Linux only the libusb backend returns 
"iProduct" as product_string.
So, better keeping a workaround in case the product_string does not contains 
"CMSIS-DAP" on some device with some backend. Using cmsis_dap_vid_pid skips the 
check on product_string.


** [tickets:#255] LPC-Link2 Not Working as CMSIS-DAP**

**Status:** new
**Milestone:** 0.9.0
**Created:** Mon Nov 04, 2019 01:35 AM UTC by Donald Bailey
**Last Updated:** Tue Jun 30, 2020 07:49 AM UTC
**Owner:** nobody


I'm working on a project with the NXP LPC824 using VisualGDB and OpenOCD. Using 
the LPCXpresso824-MAX dev board I had no trouble programming and debugging 
using OpenOCD. I have recently built my first prototype PCB for this project 
and purchased an LPC-Link2 to use as a CMSIS-DAP debugger with it. However, I 
am unable to get the LPC-Link2 to work with OpenOCD. I keep getting a 
"CMSIS-DAP command CMD_INFO failed" error.

I have flashed the CMSIS-DAP firmware to the LPC-Link2, reinstalled the 
drivers, and followed any other troubleshooting tips I could find, but with no 
success. The LPC-Link2 works when flashed with the Segger J-Link firmware and 
also with the CMSIS-DAP firmware when debugging through MCUXpresso, so it does 
not appear to be a problem with the probe or the firmware but rather something 
specific to OpenOCD. There is nothing wrong with the target board because, as a 
workaround, I have removed the target MCU from the LPCXpresso824-MAX and am 
using its external debug header to debug the target MCU on my PCB.

I am using the version of OpenOCD that comes with VisualGDB (0.10.0) but I have 
also tried the 0.10.0 version that is from the MSYS2 repositories I am on 
Windows 10.

Here is the output of my version of OpenOCD with the LPC-Link2 with debug 
turned on.
openocd.exe -f interface/cmsis-dap.cfg -c "debug_level 4"
Open On-Chip Debugger 0.10.0 (2019-08-28) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
For bug reports, read
User : 14 6 options.c:60 configuration_output_handler(): debug_level: 4
User : 15 9 options.c:60 configuration_output_handler():
Info : 16 13 server.c:311 add_service(): Listening on port 6666 for tcl 
Info : 17 16 server.c:311 add_service(): Listening on port 4444 for telnet 
Debug: 18 19 command.c:143 script_debug(): command - init init
Debug: 20 21 command.c:143 script_debug(): command - target target init
Debug: 22 23 command.c:143 script_debug(): command - target target names
Debug: 23 26 target.c:1431 handle_target_init_command(): Initializing targets...
Debug: 24 59 cmsis_dap_usb.c:251 cmsis_dap_usb_open(): Cannot read product 
string of device 0x46d:0xc232
Debug: 25 65 cmsis_dap_usb.c:251 cmsis_dap_usb_open(): Cannot read product 
string of device 0x46d:0xc231
Debug: 26 1075 cmsis_dap_usb.c:409 cmsis_dap_usb_xfer(): error reading data: 
Error: 27 1081 cmsis_dap_usb.c:503 cmsis_dap_cmd_DAP_Info(): CMSIS-DAP command 
CMD_INFO failed.
Debug: 28 1088 command.c:630 run_command(): Command 'init' failed with error 
code -107
User : 29 1103 command.c:695 command_run_line():

Any ideas? I have tried the NXP forums and StackExchange but noone seems to 
know anything.



Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/openocd/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/openocd/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
OpenOCD-devel mailing list

Reply via email to