March 28, 2024, 09:18:10 PM

ARM-USB-OCD-H

Started by addi, March 16, 2023, 07:55:31 PM

Previous topic - Next topic

addi

Hello!

Can anybody help in my question?, please
I have got ARM-USB-OCD-H, and it worked fine.
But recently I was tried to connect in debug and got the following error:
Open On-Chip Debugger 0.9.0-dev-snapshot (2017-12-06-13:03)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.sourceforge.net/doc/doxygen/bugs.html
Runtime Error: embedded:startup.tcl:58: Can't find /usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg
in procedure 'script'
at file "embedded:startup.tcl", line 58


And after what I didn't find any startup.tcl and olimex-arm-usb-ocd-h.cfg to check it and triyng to solve this problem

So, please help!

LubOlimex

Pretty self explanatory - it can't find olimex-arm-usb-ocd-h.cfg. Probably path to olimex-arm-usb-ocd-h.cfg had been changed or altered.

Explore where olimex-arm-usb-ocd-h.cfg is located first.
Technical support and documentation manager at Olimex

addi

Thank you for your replay!

At last I've found the following location:
C:\Program Files\MIPS-SDK\mips-ide\share\mipsel-mti-elf-openocd\scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg
C:\Program Files\MIPS-SDK\mips-ide\share\mipsel-mti-elf-openocd\scripts\interface\olimex-arm-usb-ocd-h.cfg

But I forgot how to set up this path
I work in Eclipse Version: Oxygen.1 Release (4.7.1RC3)

addi

And I didn't find any startup.tcl file in my hard-drive

LubOlimex

find where in the eclipse the original path "/usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg" is defined and replace i with "C:/Program Files/MIPS-SDK/mips-ide/share/mipsel-mti-elf-openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg" or altenratively create folder "/usr/share/openocd/scripts/interface/ftdi/" and in it copy and place olimex-arm-usb-ocd-h.cfg
Technical support and documentation manager at Olimex

addi

#5
Thank you for your replay!

Unfortunally, I couldn't find in eclipse where "/usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg" is written
And after I created c:/usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg,
but nothing has changed

And also I have noticed what in device manager of my Ws10 OS "Olimex OpenOCD JTAG-USB-OCD-H" with warning mark triangle.

Could this be causing my problem?

LubOlimex

The warning for the driver is definately going to be a problem but this is another issue. Your OpenOCD still can't find olimex-arm-usb-ocd-h.cfg.

So you have two problems.

First solve the issue with olimex-arm-usb-ocd-h.cfg missing. Maybe inside the software environment you can point to the location where OpenOCD configurations are. I don't know what environment you are using but:

1) Maye contact the maintainers or the community of the software environment that you are using. Signal that your environment can't find olimex-arm-usb-ocd-h.cfg.

2) Maybe try using directly OpenOCD and commands just to confirm that the hardware and driver setup is fine. OpenOCD can be gotten from here (there is win32 build at the bottom if you use Windows): https://github.com/xpack-dev-tools/openocd-xpack/releases

It is interesting that there is this driver issue when it worked in the past - did you change Windows version or maybe the USB port? What does it say when you inspect its entry? Notice that ARM-USB-OCD-H has two interfaces are they both with exclamation mark? Did you try to install the drivers as per user manual?
Technical support and documentation manager at Olimex

JohnS

#7
Quote from: addi on March 16, 2023, 07:55:31 PMRuntime Error: embedded:startup.tcl:58: Can't find /usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-ocd-h.cfg
in procedure 'script'
at file "embedded:startup.tcl", line 58

The "embedded" part means it's built in to OpenOCD. If you want to know what it does, download the OpenOCD source - preferably matching the exact version you have now.

(Sorry, I'm not on Windows so can't say much about that.)

If you run OpenOCD directly (without the IDE) you probably want to add -d3 to the command line so you get detailed debug output.

John

addi

Thanks to all for yours replays!

At last I found *.cfg and I tried to debug and whithin that I got 2 errors:
1) libusb_open() failed with LiBUSB_ERROR_NOT_SUPPORTED
2) Not a store/write access(addr:ff200200), count : 5


And also after that got the following warnings:
1) negative acknowledgment, but no packet pending
2) keep_alive() was not invoked inthe 1000ms timelimit. GDB alive packet not sent!(1094). Workaround: Increase "set remotetimeout" in GDB
3) keep_alive() was not invoked inthe 1000ms timelimit. GDB alive packet not sent!(1100). Workaround: Increase "set remotetimeout" in GDB

LubOlimex

#9
1) libusb_open() failed with LiBUSB_ERROR_NOT_SUPPORTED

This is now the second issue, the issue with the drivers. OpenOCD can't find the debugger mentioned in the config file. The warning symbol usually means that Windows is blocking the drivers quite possibly because the automatic "Driver Signature Enforcement" is blocking them.
Technical support and documentation manager at Olimex

LubOlimex

I tested it today and you can install signed drivers with Zadig get it from here:

https://zadig.akeo.ie/

Once you start it, go to Options -> and tick "List all devices". Then make sure to select Interface 0 and install WinUSB driver. It should look like this:

https://imgur.com/QmK7rt2

and this is the test with my target and latest OpenOCD build for Windows:

https://imgur.com/nrdF0tl

Technical support and documentation manager at Olimex

addi

Thank you for your replay!

I tested and got the same https://imgur.com/QmK7rt2 pic, with WCID2 - red X
And in device manager, at last, I see what driver was successfully installed
But now missed the link with debugger:
Open On-Chip Debugger 0.9.0-dev-snapshot (2017-12-06-13:03)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.sourceforge.net/doc/doxygen/bugs.html
adapter speed: 2500 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
trst_and_srst separate srst_nogate trst_push_pull srst_open_drain connect_deassert_srst
Setting K1.cpu's scratch space to 256 bytes at 0xa0003ff00
scan delay: 200000 nsec
running in fast queued mode
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: libusb_get_string_descriptor_ascii() failed with LIBUSB_ERROR_PIPE
Error: no device found
Error: unable to open ftdi device with vid 15ba, pid 002b, description 'Olimex OpenOCD JTAG ARM-USB-OCD-H' and serial '*'
Runtime Error: C:\MIPSMCU\script\target_mipsMCU.cfg:81:
in procedure 'script'
at file "embedded:startup.tcl", line 58
in procedure 'init' called at file "C:\ID9024VM028\script\target_mipsMCU.cfg", line 81

LubOlimex

Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED

Still a problem with the drivers. Maybe try to also install the driver on interface 1 device.

Maybe just for the test try just the OpenOCD outside of the environment.
Technical support and documentation manager at Olimex

addi

Thank you for your replay!
After several resinstall attempts with help by zadig now I see in device manager  what driver was successfully installed without any warning mark
I use interface 0 and I can do debug but not fully cause of previous errors and warnings:
1) Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED;
2) Error: Not a store/write access(addr:ff200200), count: 5
3) Warn : negative acknowledgment, but no packet pending
Warn : keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (1046). Workaround: increase "set remotetimeout" in GDB

I suppose what 1 and 3 does not require attention but 2 does, cause I don't understand the reason at least