EJTAG Tiny Tools is a command-line driven software package designed to interact with EJTAG-compatible devices via inexpensive parallel port (or USB bit-bang) adapters. Unlike bulky IDEs, this suite focuses on raw access, speed, and scriptability.
The "Tiny" in its name isn’t a limitation—it’s a philosophy. You won’t find fancy GUIs here. Instead, you get lean executables that perform one job exceptionally well: talking to the EJTAG debug unit.
Would you like a deeper dive into any specific module — e.g., the EJTAG PrAcc packet encoding, the FTDI low‑level driver, or how the GDB stub integrates?
EJTAG Tiny Tools is a specialized software suite primarily used for "de-bricking" and repairing consumer electronics, such as routers and satellite receivers, through the MIPS EJTAG interface. It is widely recognized in the hardware modding and repair community as a low-level tool for reviving devices that have corrupted firmware or failed bootloaders. Key Features and Capabilities
The software works in conjunction with various JTAG adapters (often low-cost DIY or commercial USB-to-JTAG hardware) to provide:
Low-Level Flash Access: Directly reads from and writes to NAND, SPI, and NOR flash memory.
DMA and PrAcc Support: Utilizes different access modes, such as Direct Memory Access (DMA) or Program Access (PrAcc), depending on what the specific target processor supports. ejtag tiny tools software top
Device Recovery: Primarily intended for "unbricking" devices that no longer respond to standard serial or Ethernet recovery methods. Supported Architectures and Cores
EJTAG Tiny Tools supports a wide range of hardware cores, including:
MIPS: Broad coverage for MIPS-based chips like Broadcom (e.g., BCM63xx, BCM7xxx), Realtek, and Atheros.
ARM: Support for ARM7, ARM9, and ARM11 cores from vendors like Samsung, Conexant, and Texas Instruments.
Other Cores: Includes support for ST20/ST40 (common in satellite receivers), PowerPC (e.g., IBM STB02500 used in DreamBox), and OCDS (TriCore). Usage Context
Hardware Interface: Often used with specialized hardware like the USB-S EJTAG Tiny Tools adapter or similar high-speed USB-to-JTAG bridges. EJTAG Tiny Tools is a command-line driven software
Software Ecosystem: While sometimes distributed as standalone tools on specialized forums like EJTAG.ru, it occupies a similar space to other open-source JTAG tools like UrJTAG or OpenOCD.
Target Audience: It is tailored for technicians and advanced enthusiasts who need a reliable, lightweight solution for accessing a device's core logic when all higher-level software has failed. ARM-USB-TINY-H - Olimex
FEATURES * Debugs all ARM microcontrollers with JTAG interface supported by OpenOCD. * High speed USB 2.0 with lower latency time, FAQ: What is EJTAG? - JTAGTest
While OpenOCD is famous for ARM chips, its recent builds (post-version 0.11) have significantly improved EJTAG support. For developers who want both debugging and programming, OpenOCD rivals UrJTAG.
Top Features for EJTAG Tiny:
Configuration Snippet:
interface ftdi
ftdi_vid_pid 0x0403 0x6010
transport select jtag
adapter speed 1000
jtag newtap yourcpu cpu -irlen 5 -ircapture 0x1 -irmask 0x1f
Note: You must create or find a specific config file for your board. Generic MIPS configs often fail; this is where UrJTAG wins out.
EJTAG Tiny Tools was originally written for simple parallel port (LPT) dongles (e.g., Wigglers, JTAGKeys). However, the community has ported it to work with FTDI-based USB adapters (like the FT2232H) using libftdi.
Typical connection chain:
Host PC → USB adapter → 14-pin EJTAG header → Target MIPS SoC
Warning: EJTAG uses 2.5V or 3.3V logic. Never connect a 5V parallel port directly without level shifters—you will fry your target.
Imagine a router with corrupted bootloader. UART is silent, and the CPU won’t execute. Here’s how you’d use EJTAG Tiny Tools:
Now you can flash a new bootloader via TFTP over Ethernet. While OpenOCD is famous for ARM chips, its