Compatible Hardware Debug Products


The eCosPro Developer's Kit can support both software and hardware based debugging of eCos applications. Software based debugging uses standard PC interfaces to communicate with a debug agent on the target board. This agent carries out debug operations on behalf of the debugger running on the host. Hardware based debugging by contrast uses a specialist hardware debug interface, typically JTAG or BDM, to cause the CPU on the target board to directly handle the host based debugger's requests.

The eCosPro Developer's Kit includes software based debugging as a standard feature. This works with all supported hosts, on virtually all supported boards, using standard serial or Ethernet interfaces to communicate with either the RedBoot bootloader, or a small debug stub, on the target. Software based debug is ubiquitous, low cost, fast (when Ethernet is used) and flexible. By contrast hardware based debugging requires additional debug hardware and software configuration for the CPU and board combination to be debugged. It also does not currently support thread aware debugging via eCosPro's the gdb or Eclipse debuggers. In many situations it does however provide significant advantages over software debugging: boards can be brought up from their bare state, you can set breakpoints and single step code in ROM/Flash memory, and the target can be debugged even when its software state is completely corrupt. Hardware debuggers are an indispensable tool for board bring-up and an invaluable asset for tackling problems that are intractable using software debuggers.

eCosCentric has extensive experience employing hardware based debuggers for eCos development. We have drawn upon this experience in the evaluation of product offerings from a range of vendors, determining which provide the best eCosPro compatibility, integration, and user experience.

All hardware debug products listed in the table below provide the following functionality:

Some of the products listed below provide configuration options to convert software breakpoint requests into hardware breakpoints. For when this functionality is not available, eCosPro's Eclipse based IDE had been extended to enable the manipulation of hardware breakpoints in addition to the standard software breakpoints.

Several products provide only limited or no support for directly programming the target's flash memory devices. In these instances eCosPro ports can include the ecoflash utility. The utility supports direct programming of all flash memory devices supported by the eCosPro on the target.

Each target board generally requires a configuration file or script specific to a vendor's hardware debugger to enable hardware debug on that board. This contains elements such as CPU and Flash selection, and CPU, cache and RAM initialization commands. eCosPro Developer's Kits provide configuration files for a small number of selected board and hardware debug combinations. If a configuration file is not available for the specific debug hardware and board combination that you require, then please contact eCosCentric for a quote to provide a suitable one.

Recommended Hardware Debug Products for eCosPro
Abatron eCosCentric TAP-HAT USB, Ethernet JTAG ARM11, Cortex-A7, Cortex-A53 The TAP-HAT is a low-cost hardware debugger for the Raspberry Pi®. Its flexible multi-modal design supports USB-connected hardware debugging of a Pi board, connection of external hardware debuggers to a Pi, or use of the Pi as a network attached hardware debugger.
Abatron Abatron BDI2000 & BDI3000 Ethernet JTAG, BDM & Nexus ARM7/9, Cortex-M, MIPS, ColdFire, PowerPC The BDI3000 been tested on a broad range ARM, Cortex-M and PowerPC CPUs. It is expected that the support for other architectures will also be eCosPro compatible. Default breakpoints selectable between hardware and software. Flash write capability included. GDB remote protocol supported directly by debugger hardware - no need for a host-based gdb server.
Amontec Amontec JTAGkey & JTAGkey-Tiny USB JTAG ARM7 & ARM9 The JTAGkeys are low cost devices that have all the basic features necessary for download and debug. Limited communications performance and a relativey limited range of supported CPUs and architectures. GDB remote protocol supported by OpenOCD JTAG server. JTAGKey's should compatible with many ARM processors, but support for specific models will require verification.
Altera Altera USB Blaster I & II USB & Ethernet JTAG Nios II, Altera HPS Cortex-A9 USB-based software drivers available for both Windows and Linux hosts. The Altera USB Blaster is fully supported by the eCosPro Starter and Developer's Kits for the Altera Nios II. SMP support for Altera HPS Cortex-A9 coming soon.
Ashling Ashling Opella USB JTAG MIPS Only tested and supported for MIPS CPU's. It is expected that the support for other processors would also be eCosPro compatible. Opella software drivers were successfully used on both Linux and Windows hosts.
Lauterbach Lauterbach Trace32 USB2/3 & Ethernet JTAG, BDM & SWD ARM7/9/11, Cortex-A, Cortex-M, MIPS, PowerPC, X86 Extensive architectural support. Multi-core and trace are optional features. GDB remote protocol supported by server running on host. Supported by eCosPro for both command line and Eclipse IDE based use.
Ronetix Ronetix PEEDI Ethernet JTAG & SWD ARM7/9/11, Cortex-A, Cortex-M, ColdFire, MIPS, PowerPC The GDB remote protocol is supported directly by the hardware debugger, obviating the need for a separate gdb server to be run on a host. The debugger provides good communications performance and scripting capabilities. Default breakpoint type can be selected between hardware or software. Target reset control and remote reset detection. Flash write functionality covering both NAND and NOR flash. Peedi internal firmware is itself an eCos RTOS application. Supported by eCosPro for both command line and Eclipse IDE based use.
Segger J-Link Segger J-Link USB & Ethernet JTAG & SWD ARM7/9/11, Cortex-A, Cortex-M, PIC32 Extensive processor support. Optional trace support. GDB remote protocol supported J-Link GDB server running on host. Supported by eCosPro for both command line and Eclipse IDE based use.
Evaluation of debug hardware is an ongoing process - this list is updated as tested products meet our criteria.

Note that due to the constant evolution of hardware debug products firmware and specifications, and that evaluations have necessarily only covered a small subset of the potentially compatible hardware, we cannot guarantee that a given listed product will always be fully compatible with eCosPro. eCosCentric can only guarantee eCosPro compatibility with debug hardware and board combinations that we have tested and provided configuration scripts for.