I tested to your 2 patches.
http://openocd.zylin.com/5731
http://openocd.zylin.com/5732

And I confirmed CMSIS-DAP can use collectly by LPC-LINK2. 
(both Windows and Linux build)
(And -c "cmsis_dap_vid_pid 0x1fc9 0x90" is specified and not)



> The LPC-Link2 has 3 HID interfaces, but only one is the right one for 
> cmsis-dap.

Yes, It seem LPC-Link2 has 3 HID interfaces.
Each interfaces is as followed.

* VID=1fc9, PID=90, serial = I3F4AABA, interface number = 03, product_strings = 
"LPCSIO"
* VID=1fc9, PID=90, serial = I3F4AABA, interface number = 00, product_strings = 
"PC-LINK2 CMSIS-DAP"
* VID=1fc9, PID=90, serial = I3F4AABA, interface number = 04, product_strings = 
"LPC-LINK2 DATA PORT"

> Apparently, OpenOCD find the right one in cmsis_dap_usb_open(), but then pass 
> VID:PID + serial to hid_open(),

OpenOCD checks product_string if vendorid is not specified.
        "if (wcsstr(cur_dev->product_string, L"CMSIS-DAP"))"
And then, open interface of CMSIS-DAP correctly.


> and hid_open() opens the HID path of another interface.
But hid_open() looks only vid,pid,serial.
And then open interface of LPCSIO.

Of course, it doesn't work correctly when vid/pid is specified, so my before 
patch is bad.

Thanks,
tateishi



---

** [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:** Mon Jun 29, 2020 10:47 PM UTC
**Owner:** nobody


Hi,

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
        http://openocd.org/doc/doxygen/bugs.html
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 
connections
Info : 17 16 server.c:311 add_service(): Listening on port 4444 for telnet 
connections
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: 
(null)
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.

Regards,
Donald


---

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
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to