From: Antonio B. <bo...@us...> - 2020-06-30 07:49:47
|
Thanks for your tests! You did not replyed about the email address in the commit message, please let me know. After one night sleep and the logs you put in your last message, I realised that the product_string is not always the same, but depends on the backend of hidapi library. On Linux there are two backends: hidapi-hidraw and hidapi-libusb. The libusb backend puts in product_string the "iProduct" from the USB Device Descriptor, so it will be "LPC-LINK2 CMSIS-DAP V5.224" for all the three interfaces. This requires the quirk about checking the interface number I have put in my second patch. The hidraw backend relies on the HID kernel driver to get the product_string, and on LPC-Link2 we should get different cmsis_dap_vid_pid for each interface. On Windows and Mac we have other hidapi implementations. Would be good to check there too. By "chance" my patch set also works for the case when you add cmsis_dap_vid_pid command and use hidraw backend. Actually there is another sort-of-bug there, but I was not thinking to fix it. I will do it right now! In fact, when using cmsis_dap_vid_pid command openocd skips the check for product_string containing "CMSIS-DAP"! Again the quirk fixes it! --- ** [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 05:39 AM 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 ope...@li... 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. |