Low-cost and high-speed ARM/ESP32 USB JTAG.Official reference can be found here.
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 Connector | Board JTAG Pin | Description |
---|---|---|
1 | VCC | Positive Supply Voltage — Power supply for JTAG interface drivers |
4 | GND | Digital ground |
5 | TDI | Test Data In pin |
7 | TMS | Test Mode State pin |
9 | TCK | JTAG Return Test Clock |
13 | TDO | Test Data Out pin |
3 | RESET | Connect this pin to the (active low) reset input of the target CPU (EN for ESP32) |
Name | Description |
---|---|
CHIPS Alliance | The CHIPS Alliance develops high-quality, open source hardware designs relevant to silicon devices and FPGAs. |
Espressif 32 | Espressif 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 K210 | Kendryte K210 is an AI capable RISCV64 dual core SoC. |
SiFive | SiFive 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. |
Name | Description |
---|---|
Arduino | Arduino 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 Framework | ESP-IDF is the official development framework for the ESP32 and ESP32-S Series SoCs. |
FreeRTOS | FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 40 microcontroller platforms |
Freedom E SDK | Open Source Software for Developing on the SiFive Freedom E Platform |
Kendryte FreeRTOS SDK | Kendryte SDK with FreeRTOS support |
Kendryte Standalone SDK | Kendryte Standalone SDK without OS support |
Simba | Simba is an RTOS and build framework with aims to make embedded programming easy and portable |
WD-Firmware | The WD Firmware package contains firmware applications and Processor Support Package (PSP) for various cores, alongside demos which support all features |
Zephyr RTOS | The 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.
Name | Platform | Debug | MCU | Frequency | Flash | RAM |
---|---|---|---|---|---|---|
AI Thinker ESP32-CAM | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ALKS ESP32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
AZ-Delivery ESP-32 Dev Kit C V4 | Espressif 32 | External | ESP32 | 240MHz | 16MB | 520KB |
Adafruit ESP32 Feather | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Arty FPGA Dev Kit | SiFive | On-board | FE310 | 450MHz | 16MB | 256MB |
Briki ABC (MBC-WB) - ESP32 | Espressif 32 | External | ESP32 | 240MHz | 3.25MB | 320KB |
Briki MBC-WB - ESP32 | Espressif 32 | External | ESP32 | 240MHz | 3.25MB | 320KB |
D-duino-32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
DOIT ESP32 DEVKIT V1 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Dongsen Tech Pocket 32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ESP32 FM DevKit | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ESP32 Pico Kit | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ESP32vn IoT Uno | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ESPectro32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
ESPino32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Espressif ESP-WROVER-KIT | Espressif 32 | On-board | ESP32 | 240MHz | 4MB | 320KB |
Espressif ESP32 Dev Module | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
FireBeetle-ESP32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Frog Board ESP32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Heltec WiFi LoRa 32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Heltec WiFi LoRa 32 (V2) | Espressif 32 | External | ESP32 | 240MHz | 8MB | 320KB |
Heltec Wireless Stick | Espressif 32 | External | ESP32 | 240MHz | 8MB | 320KB |
Hornbill ESP32 Dev | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Hornbill ESP32 Minima | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
IoTaaP Magnolia | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
MH ET LIVE ESP32DevKIT | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
MH ET LIVE ESP32MiniKit | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Node32s | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
NodeMCU-32S | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
OLIMEX ESP32-DevKit-LiPo | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
OLIMEX ESP32-EVB | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
OLIMEX ESP32-GATEWAY | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Pycom LoPy | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Pycom LoPy4 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 1.25MB |
RVfpga: Digilent Nexys A7 | CHIPS Alliance | On-board | 320MHz | 16MB | 1.16MB | |
SG-O AirMon | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Silicognition wESP32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Sipeed MAIX BiT | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
Sipeed MAIX BiT with Mic | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
Sipeed MAIX GO | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
Sipeed MAIX ONE DOCK | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
Sipeed MAIXDUINO | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
Sipeed MF1 MF1 | Kendryte K210 | External | K210 | 400MHz | 16MB | 6MB |
SparkFun ESP32 Thing | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
SparkFun LoRa Gateway 1-Channel | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
TTGO LoRa32-OLED V1 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
TTGO LoRa32-OLED V2 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
TTGO T-Beam | Espressif 32 | External | ESP32 | 240MHz | 4MB | 1.25MB |
TTGO T1 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
VintLabs ESP32 Devkit | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
WEMOS LOLIN D32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
WEMOS LOLIN D32 PRO | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
WEMOS LOLIN32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
WeMos D1 MINI ESP32 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
WeMos WiFi and Bluetooth Battery | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
XinaBox CW02 | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
oddWires IoT-Bus Io | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
oddWires IoT-Bus Proteus | Espressif 32 | External | ESP32 | 240MHz | 4MB | 320KB |
Tags
Related Posts
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.
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.