Olimex ARM-USB-TINY-H FTDI 64 bit Windows 7 drivers

The Olimex ARM-USB-TINY-H is a low-cost JTAG debugger for ARM devices such as the STM32. The problem is that the software and drivers that come on the CD are seriously out of date and only work for Windows XP users, an operating system that so outdated that even Microsoft has discontinued official support for it.

<Rant>

Many online stores that sell the ARM-USB-TINY-H republish some information from Olimex that is either plain wrong or outdated. They say, and I quote, “FTDI have x64 drivers on their web, download them and use our ARM-USB-TINY PID: 0x0004, VID: 0x15BA to install the drivers.”. Only half of this is information is correct. Yes FTDI do publish x64 drivers on their site but the crucial PID/VID combination of 15BA/0004 is wrong. The actual combination, at least as far as the device I have purchased, is 15BA/002a.


The ARM-USB-TINY-H. JTAG on one end and USB on the other

Fixed drivers

To save you the effort of doing what it would take Olimex all of 5 minutes to do and include on their CD, I’ve prepared a set of Windows x64 FTDI drivers for you. Download the ZIP file from here.

Installation instructions

Presumably you’re at the point where your computer’s device manager shows up two correctly named Olimex devices under an “unknown devices” section. If not, and they appear under something else such as “libusb” then you need to uninstall those drivers until you get back to the “Unknown devices” state. If you have problems with the uninstallation, google FTCLEAN to find a utility supplied by FTDI that will erase its drivers from your system.

Now all you need to do is right-click on each unknown device and choose the option to update the driver. Browse to the location where you extracted the downloaded drivers and let it go. You’ll get a red warning about unverified drivers that you can ignore. You will need to repeat the process for the other unknown driver in the list. Eventually you should end up with “USB Serial Converter A” and “USB Serial Converter B” in your device manager. Job done, you can now debug with OpenOCD.

Eclipse debug settings

To help you get started debugging with the ARM-USB-TINY-H, here are my Eclipse settings. These are my gdb initialisation commands. OpenOCD is the debug server.

target remote localhost:3333
monitor reset init
monitor stm32x mass_erase 0
monitor stm32x options_read 0
monitor stm32x unlock 0
monitor reset init
file c:/users/andy/source/myProjectDebug_hd_72/myProject.elf
load
monitor reset init

Change the file directive to point to the .elf file for your project. The following screenshot shows the full debug configuration page.




Eclipse debug settings. Click for larger.

  • Mike Perkins

    I feel the need to say that I purchased my Olimex ARM USB Tiny a few years back and I can assure the PID on mine is definitely 0×0004

    The download http://andybrown.me.uk/files/arm-usb-tiny-h-ft… doesn't work if I change the 0002a to 0004.

    I would very much like to use the FTDI drivers with OpenOCD so I can also use a dated Rowley Crossworks project without changing back and forth.

  • Thank you, I could manage to get rid of all the unknown device warnings when ARM-USB-TINY-H was connected to my Windows7_x64 PC.

  • Alex

    Hi Andy,
    God the Olimex site is so bad at supporting its own products.
    Thanks for this, I've booke marked your page.
    Whats weird is, I have a Linux VM and I can flash my chip using the Olimex USB Tiny Jtag in there, however when I try in windows – after installing the drivers successfully, I get this:

    C:openocd-0.7.0bin>openocd-0.7.0.exe -f openocd.cfg -c "[mt_flash HOT_NXP_EA1788_emWinBSP_Xpresso510.hex; exit]"
    Open On-Chip Debugger 0.7.0 (2013-05-05-10:41)
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.sourceforge.net/doc/doxygen/bugs.h
    Info : only one transport option; autoselect 'jtag'
    adapter_nsrst_delay: 200
    jtag_ntrst_delay: 200
    adapter speed: 10 kHz
    cortex_m3 reset_config vectreset
    cortex_m3 reset_config sysresetreq
    adapter speed: 1000 kHz
    trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_de
    assert_srst
    Error: unable to open ftdi device: device not found
    Runtime Error: openocd.cfg:43:
    in procedure 'script'
    at file "embedded:startup.tcl", line 58
    in procedure 'init' called at file "openocd.cfg", line 43

    C:openocd-0.7.0bin>

    Any clues as to what that might be?

    Thanks
    Alex

    • Hi Alex, it either means that the FTDI USB device drivers are not installed or the device is not recognised. Can you see it using usbview (http://www.ftdichip.com/Support/Utilities.htm). Can you also see it in the control panel device manager connected to the FTDI driver? If yes to all those then it may be the problem that I outlined in this article – the VID/PID combo is wrong. usbview will tell you what the correct VID/PID is.