Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Debug evolution transforms tools

Posted: 01 Oct 2007 ?? ?Print Version ?Bookmark and Share

Keywords:software development tool? hardware debugging? embedded debug? JTAG processor probes?

Embedded systems designers are facing both gradual and abrupt changes in their debugging tools. On the gradual side, tools are following general design trends and moving toward standardized, open systems. But a left turn may be in the works as tool developers add wireless connections to embedded debug.

Two forms of debugging are needed for embedded systems. One is software-based, the other is hardware-centric. There has been a good deal of standardization in both arenas.

Software-based debug has been moving to an open systems approach based on the Eclipse framework. Most software development tool companies now have plug-ins that allow their debugging tools to be part of an Eclipse-based IDE. The Tasking VX-toolset from Altium Ltd, for instance, allows integration within Eclipse as extended by Altium to support configuration options of the tools. Embedded tool companies are also joining the Eclipse Foundation, to help ensure that embedded tools play a big role in the further development of the Eclipse platform.

Standardized approach
The popularity of such plug-ins is prompting creation of a standardized approach to extending Eclipse, originally created for development of enterprise-level software, to include embedded and device-level software. One of the current initiatives, spearheaded by Wind River Systems, is the Device Software Development Platform (DSDP), an effort to encompass the myriad hardware-specific needs of embedded systems.

The DSDP initiative is working to overcome rigidity in the way Eclipse handles debug. The original Eclipse (3.1 and earlier) interface had a "target-process-thread" stack frame hierarchy that would alter the debug context when the debug view changed. The DSDP initiative provides adaptable interface layers, such as a content adapter, that serves as a bridge between the viewer and the debug model, allowing both content customization and model-driven view content. This approach also supports customization of the debugger for the target hardware's specific configuration. The first steps toward implementing this approach appeared in the mid-2006 release of Eclipse (3.2) and are continually being refined.

On the hardware debug side, the method for looking inside the processor by in-circuit emulation and similar tools has shifted from custom probes with bond-out processors to built-in debugging. The standard interface for accessing this built-in capability is now the JTAG port, defined by IEEE Standard 1149.1.

The original purpose of JTAG was to examine the integrity of connections on a high-density PCB using hardware resources located inside each IC. Now, JTAG is being used as the access port for built-in software trace, the reading of internal processor registers, and even for onboard programming of memory and configurable logic.

Embedded software debug has linked itself to the Eclipse framework and is now finding ways to handle the hardware-specific customization required by adding adapter software to the Eclipse debugger structure.

One of the emerging trends in the use of JTAG for hardware debugging is the ability to simultaneously control multiple devices through a single port. The definition of JTAG allows devices to be linked in a daisy-chain configuration so that a single controller could access all the devices on a board. In embedded development, however, tool vendors initially used the JTAG port for single-device accessthe processor.

Modern system designs, however, now routinely use two or more processors. This has left developers with the need to connect individual tools to each processor and debug each virtually independently. The response in hardware tools is a growing ability to use the debugger probe with daisy-chained processors and control both simultaneously for more coordinated debugging. In addition, probes are increasingly able to access other hardware, such as memory, through the processor's JTAG port.

The OCDemon probe family from Macraigor Systems is a recent example of this type of multifunction JTAG probe. The support software for the device configures it to control the target processors, providing control of processor operation and access to registers. It also, however, is able to control flash memory connected to the target processor. This ability allows a developer to both load software and test its execution with a single device and connection, speeding debug iterations.

Hardware debugging probes are using JTAG for processor interface and USB for the host computer interface, enabling wireless debugging.

The next evolution in hardware debugging is more than this type of simple capability extension, however, as it has the potential of altering where and how embedded system debugging can be accomplished. This will occur when JTAG hardware debugging, like virtually every other form of data transfer, goes wireless. Already the JTAG connection to the processor has moved from parallel ports to USB. It is only a short step from that to wireless USB or other wireless form.

Making the hardware debug connection wireless carries with it all the standard advantages: simplified connection access and elimination of cabling. It also raises new possibilities for maintenance and upgrading of systems in the field. The full capability of hardware debug and memory programming are already available through the JTAG port. Making the connection wireless will allow the performance of these functions in a deployed system without needing to crack open the case.

Depending on the type of wireless link implemented, an embedded system can be designed for on-site debug and maintenance through a laptop or even remote operation via a Wi-Fi link to the Internet. This expands maintenance options and opens possibilities, such as the gathering of event statistics for failure analysis or to determine use patterns to prompt design improvements.

- Richard Quinnell
EE Times

Article Comments - Debug evolution transforms tools
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top