eCosPro

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, host debugger support, and configuration specific to the CPU and board combination to be debugged. Hardware based debugging also has various limitations compared to the software implementation: it does not currently provide thread aware debugging, or display application diagnostic output; and some products can be much slower to download code to, and interact with, the target. In certain circumstances however it does 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 bringup 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:

  • Compatible with the GNU tools provided with eCosPro
  • Source and assembly level debugging of eCosPro based applications
  • Interoperability with both GNU debugger (GDB) command line, and the Eclipse IDE's GDB GUI frontend
  • Initialization of target hardware necessary for bare-board bring up (RAM, CPU, etc)
  • Configuration file/script capability for automatic initialization of target hardware, or alternatively a GDB macro/script approach may be used if this is not available.
  • Debugging of Flash-resident and RAM-resident code
  • Seamless integration with host tools for direct loading, execution & debug of RAM based applications
  • Most products are also capable of writing code and data directly to a target's on-board or on-chip flash - note that in some cases this is only available as an option and not included as standard.

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
VendorProductConnectivityi/fProcessorsNotes
Abatron Abatron BDI200010BASE-T Ethernet. GDB remote protocol supported directly by debugger hardware. JTAG & BDMARM7, ARM9, XScale, MIPS, ColdFire, PowerPC The BDI2000 been tested on a broad range of ARM and XScale CPUs. It is expected that the support for other architectures will also be eCosPro compatible. Good communications performance, good scripting, very wide selection of target architecture and CPU variant support. Can select between hardware and software breakpoints. Flash write capability included.
Abatron Abatron BDI300010/100BASE-T Ethernet. GDB remote protocol supported directly by debugger hardware. JTAG, BDM & NexusARM7, ARM9, Cortex-M3, XScale, MIPS, ColdFire, PowerPC The BDI3000 been tested on ARM, Cortex-M3 and PowerPC CPUs. It is expected that the support for other architectures will also be eCosPro compatible. The BDI3000 is an enhanced version of the original BDI2000. It builds on the BDI2000's feature set, adding much improved target download performance due to 100BASE-T ethernet and faster BDM/JTAG clocks, as well as support for a wider range of target voltages.
Amontec Amontec JTAGkey & JTAGkey-Tiny USB. GDB remote protocol supported by OpenOCD JTAG server. JTAGARM7, ARM9, XScale The JTAGkeys are low cost devices that have all the basic features necessary for download and debug. Compared to some alternative products they have lower communications performance and do not cover as broad a range of CPUs and architectures. The range of natively supported flash devices is also limited, but eCosPro ports can include the ecoflash utility to program the target's flash memory. The JTAGkey-Tiny is an even lower cost variant of the JTAGkey. It covers a more limited voltage range, but is otherwise functionally identical. We have successfully tested JTAGkeys with Atmel AT91R40807, NXP LPC2106 and LPC2148 ARM7-based microcontrollers. They are compatible with many other ARM processors, but support for specific models will require verification.
Altera Altera USB Blaster PL-USB-BLASTERUSB. Software drivers available for Windows and Linux hosts. JTAGNios II The Altera USB Blaster is fully supported by the eCosPro Starter and Developer's Kits for the Altera Nios II.
Ashling Ashling OpellaUSB. Software drivers available for Windows and Linux hosts. JTAGMIPS Only tested with NXP MIPS CPU's at time of writing. 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. Very good communications performance. The Ashling product portfolio also includes JTAG debuggers supporting hardware trace capability.
Ronetix Ronetix PEEDI10/100BASE-T Ethernet. GDB remote protocol supported directly by debugger hardware. JTAG & BDMARM7, ARM9, Cortex-M3, XScale, ColdFire, PowerPC Good communications performance. Good scripting capability. Can select between hardware and software breakpoints. 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.
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.

   
         
 
  Copyright © 2003-2013 eCosCentric Limited Privacy & Legal Statements