arm-usb-tiny Vs. arm-usb-tiny-h and OpenOCD libusb Vs ftdi?

I have both a arm-usb-tiny and an arm-usb-tiny-h. I’m trying to get the high speed out of the h device. I ran the same openocd script file on the same device running the same application (not much more than blinking an LED and has a microsecond timer). The script file simply reads the memory address of the timer multiple times. (mdw)

arm-usb-tiny

uses FTDI drivers

uses version Open On-Chip Debugger 1.0 (2008-10-04-10:00)

could read a memory address repeatedly around 2ms timing

arm-usb-tiny-h

uses libusb0 drivers

uses version Open On-Chip Debugger 0.3.0 (2009-11-07-14:18)

could read a memory address repeatedly around 4ms timing

In the last day I’ve read quite abit about the D2xx and FTDI and its still confusing to me. I THINK this is the situation:

likely my old OpenOCD used the ftdi driivers and that the “new” openocd I’m running (from Olimex CD) uses this libusb which is slower?

I THINK the fix is to compile my own version of OpenOCD using the ftdi drivers, and then maybe I can finally experience the “high” speed?

config files are very similar (except for deprecated commands) and both devices successfully poll, halt, resume, etc.

Any thoughts?

Hi

just succeeded in selecting the ( windows) FTDI drivers for olimex. Using openocd 0.4. Works well. don’t know the difference with the LIBusb drivers because i could not getting it work.

succes

Dig

I Uninstalled the libusb drivers, forced it to use the same ones as ARM-USB-Tiny, then ran the same (old) OpenOCD and got the timing back to the 2ms per memory read. So far “high” speed is elusive.

Hello All,

I posted the following in another thread. Item 4 explains the driver differences (as I understand them).

I am at a similiar stage getting OpenOCD to work with an Olimex ARM-USB-Tiny-H. (I have not used this device before - more of an AVR fan in the past)

There are a few things you might find useful

  1. Correct device VID & PID (from my .cfg file)

REFERENCE: http://www.olimex.com/dev/arm-usb-tiny.html

interface ft2232

ft2232_device_desc “Olimex OpenOCD JTAG TINY”

ft2232_layout “olimex-jtag”

ft2232_vid_pid 0x15BA 0x002a

Note the PIDs could be 0003 0004 as well - you can use USBviewer.exe to get this info.

  1. I am using version OpenOCD 0.3.0. The commands and their syntax changes significantly between OpenOCD version releases. Be aware!

  2. Speed - try slow

ft2232_latency 10

jtag_khz 200

jtag_speed is the command format for older versions of OpenOCD. should be Clk speed/200khz (between 30 and 150??)

Note the addition of latency (in ms). Should be between 2 and 10. Not certain if available in version 0.1.0

  1. Reset Configuration

No idea what your board has. SRST and TRST may be available separately.

I use

reset_config trst_and_srst separate

jtag_ntrst_delay 200

jtag_nsrst_delay 200

Note delay parameters (ms) - some boards need resets help for a short time to work.

  1. Drivers

Almost certainly the real problem.

Need to know if 32-bit or 64-bit OS. The Olimex drivers are only for 32-bit. If you are using 64-bit OS then Olimex say to use FTDI 64-bit drivers. However the FTDI website drivers are only certified for FTDI chip VID & PIDs. So cannot install on Vista as if wants certified drivers.

There are versions of FTDI drivers with correct hardware VID & PIDs (which I have just found/loaded).

See http://www.olimex.com/dev/index.html Software Item 2. (The Crossworks FTD2xx drivers)

Having said all of the above and now trying these last FTD2xx drivers…

I am still getting “unable to open FTDI device: Device not found” error.

I am about to try a Windows XP 64-bit and Windows XP 32-bit OS to see if I can get around the problem.

I would appreciate any help I can get.

Based on other posts it seems you do not need to set any latency and jtag_khz can be set as high as 1500 without problems. Hope this helps you.

Ernest