Olimex Driver



Low-cost and high-speed ARM/ESP32 USB JTAG.Official reference can be found here.

  1. Olimex Driver Install
  2. Olimex Motor Driver

OLIMEX Open Source Hardware Development Boards. STMP1-OLinuXino-LIME2 Industrial grade Linux Computer project took us almost an year of work to build proper software support for our hardware with mainline uboot and kernel. I rejigged the PID and VID for the FTDI x64 driver which gives me use of the JTAG debuggers in Cross Studio. The default drivers from Olimex have caused me numerous problems in the past so I'd been using alternatives - that alternative driver wasn't compatible with Win7 x64, the Olimex drivers were.

Contents

You can configure debugging tool using debug_tool option in“platformio.ini” (Project Configuration File):

If you would like to use this tool for firmware uploading, please changeupload protocol:

More options:

Windows:
Mac:

macOS contains default FTDIUSBSerialDriver driver which conflicts withdebug tools which are based on this chip. FTDI Chip company recommendsremoving this default driver from a system. Everything should work aftersystem rebooting. See detailed instruction in official application note(Page 16, Section 4: Uninstalling FTDI Drivers on OS X)AN134: FTDI Drivers Installation guide for MAC OS X

Linux:

Please install “udev” rules 99-platformio-udev.rules. If you already installedthem before, please check that your rules are up-to-date or repeat steps.

Olimex Driver Install

Olimex ARM-USB-TINY-H JTAG 20-Pin ConnectorBoard JTAG PinDescription
1VCCPositive Supply Voltage — Power supply for JTAG interface drivers
4GNDDigital ground
5TDITest Data In pin
7TMSTest Mode State pin
9TCKJTAG Return Test Clock
13TDOTest Data Out pin
3RESETConnect this pin to the (active low) reset input of the target CPU (EN for ESP32)
NameDescription
CHIPS AllianceThe CHIPS Alliance develops high-quality, open source hardware designs relevant to silicon devices and FPGAs.
Espressif 32Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Kendryte K210Kendryte K210 is an AI capable RISCV64 dual core SoC.
SiFiveSiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.
NameDescription
ArduinoArduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences
Espressif IoT Development FrameworkESP-IDF is the official development framework for the ESP32 and ESP32-S Series SoCs.
FreeRTOSFreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 40 microcontroller platforms
Freedom E SDKOpen Source Software for Developing on the SiFive Freedom E Platform
Kendryte FreeRTOS SDKKendryte SDK with FreeRTOS support
Kendryte Standalone SDKKendryte Standalone SDK without OS support
SimbaSimba is an RTOS and build framework with aims to make embedded programming easy and portable
WD-FirmwareThe WD Firmware package contains firmware applications and Processor Support Package (PSP) for various cores, alongside demos which support all features
Zephyr RTOSThe Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind

Note

For more detailed board information please scroll tables below by horizontal.

NamePlatformDebugMCUFrequencyFlashRAM
AI Thinker ESP32-CAMEspressif 32ExternalESP32240MHz4MB320KB
ALKS ESP32Espressif 32ExternalESP32240MHz4MB320KB
AZ-Delivery ESP-32 Dev Kit C V4Espressif 32ExternalESP32240MHz16MB520KB
Adafruit ESP32 FeatherEspressif 32ExternalESP32240MHz4MB320KB
Arty FPGA Dev KitSiFiveOn-boardFE310450MHz16MB256MB
Briki ABC (MBC-WB) - ESP32Espressif 32ExternalESP32240MHz3.25MB320KB
Briki MBC-WB - ESP32Espressif 32ExternalESP32240MHz3.25MB320KB
D-duino-32Espressif 32ExternalESP32240MHz4MB320KB
DOIT ESP32 DEVKIT V1Espressif 32ExternalESP32240MHz4MB320KB
Dongsen Tech Pocket 32Espressif 32ExternalESP32240MHz4MB320KB
ESP32 FM DevKitEspressif 32ExternalESP32240MHz4MB320KB
ESP32 Pico KitEspressif 32ExternalESP32240MHz4MB320KB
ESP32vn IoT UnoEspressif 32ExternalESP32240MHz4MB320KB
ESPectro32Espressif 32ExternalESP32240MHz4MB320KB
ESPino32Espressif 32ExternalESP32240MHz4MB320KB
Espressif ESP-WROVER-KITEspressif 32On-boardESP32240MHz4MB320KB
Espressif ESP32 Dev ModuleEspressif 32ExternalESP32240MHz4MB320KB
FireBeetle-ESP32Espressif 32ExternalESP32240MHz4MB320KB
Frog Board ESP32Espressif 32ExternalESP32240MHz4MB320KB
Heltec WiFi LoRa 32Espressif 32ExternalESP32240MHz4MB320KB
Heltec WiFi LoRa 32 (V2)Espressif 32ExternalESP32240MHz8MB320KB
Heltec Wireless StickEspressif 32ExternalESP32240MHz8MB320KB
Hornbill ESP32 DevEspressif 32ExternalESP32240MHz4MB320KB
Hornbill ESP32 MinimaEspressif 32ExternalESP32240MHz4MB320KB
IoTaaP MagnoliaEspressif 32ExternalESP32240MHz4MB320KB
MH ET LIVE ESP32DevKITEspressif 32ExternalESP32240MHz4MB320KB
MH ET LIVE ESP32MiniKitEspressif 32ExternalESP32240MHz4MB320KB
Node32sEspressif 32ExternalESP32240MHz4MB320KB
NodeMCU-32SEspressif 32ExternalESP32240MHz4MB320KB
OLIMEX ESP32-DevKit-LiPoEspressif 32ExternalESP32240MHz4MB320KB
OLIMEX ESP32-EVBEspressif 32ExternalESP32240MHz4MB320KB
OLIMEX ESP32-GATEWAYEspressif 32ExternalESP32240MHz4MB320KB
Pycom LoPyEspressif 32ExternalESP32240MHz4MB320KB
Pycom LoPy4Espressif 32ExternalESP32240MHz4MB1.25MB
RVfpga: Digilent Nexys A7CHIPS AllianceOn-board320MHz16MB1.16MB
SG-O AirMonEspressif 32ExternalESP32240MHz4MB320KB
Silicognition wESP32Espressif 32ExternalESP32240MHz4MB320KB
Sipeed MAIX BiTKendryte K210ExternalK210400MHz16MB6MB
Sipeed MAIX BiT with MicKendryte K210ExternalK210400MHz16MB6MB
Sipeed MAIX GOKendryte K210ExternalK210400MHz16MB6MB
Sipeed MAIX ONE DOCKKendryte K210ExternalK210400MHz16MB6MB
Sipeed MAIXDUINOKendryte K210ExternalK210400MHz16MB6MB
Sipeed MF1 MF1Kendryte K210ExternalK210400MHz16MB6MB
SparkFun ESP32 ThingEspressif 32ExternalESP32240MHz4MB320KB
SparkFun LoRa Gateway 1-ChannelEspressif 32ExternalESP32240MHz4MB320KB
TTGO LoRa32-OLED V1Espressif 32ExternalESP32240MHz4MB320KB
TTGO LoRa32-OLED V2Espressif 32ExternalESP32240MHz4MB320KB
TTGO T-BeamEspressif 32ExternalESP32240MHz4MB1.25MB
TTGO T1Espressif 32ExternalESP32240MHz4MB320KB
VintLabs ESP32 DevkitEspressif 32ExternalESP32240MHz4MB320KB
WEMOS LOLIN D32Espressif 32ExternalESP32240MHz4MB320KB
WEMOS LOLIN D32 PROEspressif 32ExternalESP32240MHz4MB320KB
WEMOS LOLIN32Espressif 32ExternalESP32240MHz4MB320KB
WeMos D1 MINI ESP32Espressif 32ExternalESP32240MHz4MB320KB
WeMos WiFi and Bluetooth BatteryEspressif 32ExternalESP32240MHz4MB320KB
XinaBox CW02Espressif 32ExternalESP32240MHz4MB320KB
oddWires IoT-Bus IoEspressif 32ExternalESP32240MHz4MB320KB
oddWires IoT-Bus ProteusEspressif 32ExternalESP32240MHz4MB320KB
Aug14

Tags

Related Posts

Jtag

Share This

Recent Posts

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.

Jtag

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.

Olimex Motor Driver

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.

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


Drivers roland. Eclipse debug settings. Click for larger.