Electronic Design

Embedded Debuggers

Debugger CrossView Pro uVision2 Multi 2000
Company Altium Ltd. Keil Software Inc. Green Hills Software Inc.
Web site www.tasking.com www.keil.com www.ghs.com
Processors 8051, 251, C166/XC166, ST10/Super10, MIPS, 68k, PowerPC, XA, SLE88, M16C, DSP56k, TriCore, Crystal CS48xx, StarCore, CARMEL, MediaStream All 8051, 251, and C16x/ST10 PowerPC, MIPS, ARM, x86/Pentium, SPARC, 68K, V800, ColdFire, SH, StarCore, MCORE, i960, ST100, TriCore, Lexra
Interfaces Ethernet, RS-232, CAN RS-232, JTAG, OCDS Ethernet, RS-232, USB, JTAG, BDM, OnCE, EJTAG
BDM/JTAG PC parallel port to on-board
JTAG I/F, Abatron BDI2000, Macraigor
Infineon, Cygnal, Triscend Green Hills Probe, Agilent, VisionProbe, EPI Jeeni, MultiICE
Hardware tracing STMicroelectronics ST10 emulator none Agilent
ICE Hitex dProbe, Signum, STMicroelectronics ST10 Ciebo, Hitex, Phyton Agilent, Tektronix
Simulator yes yes yes
Languages C, C++, Assembly C, Assembly, PLM C, C++, EC++, Ada95, Fortran
RTOS numerous RTX51, RTX51 Tiny, RTX166, RTX166 Tiny Integrity, ThreadX, OSE, VxWorks, ChorusOS, NucleusPlus, RTXC
Host OS Windows95/98/ME/NT/2000, PC/Linux, Sun/Solaris, HP-UX Windows 98/NT/2000 Windows, Solaris, Linux
Other MultiCore Debug System Open AGSI/AGDI architecture Multiprocessor and multicore support

Keil's uVision2's strength lies in the microcontroller arena. It supports the 8051 and C16x/ST10 architectures. Unlike debuggers designed for higher-end systems, uVision2 works equally well on targets that lack a real-time operating system (RTOS) in addition to operating with microcontroller RTOSs like Keil's own RTX51.

The debugger supports target-based debugging using a resident monitor program. UVision2 also incorporates a simulator that supports most built-in microcontroller-based peripherals. Third-party emulators are supported, such as Triscend's Fastchip development environment, which utilizes Macraigor's JTAG emulation probes.

Debugging can be enhanced using a C macro language. Dual memory and watchpoint windows simplify system analysis.

The company integrates performance-analysis tools with the uVision2 debugger. The debugger additionally works with Keil's code-coverage support. And, Keil keeps the development tools simple by steering clear of little-used features like integrated multiprocessor debugging.

CrossView Pro
The Tasking CrossView Pro debugger speeds debugging by helping identify elusive as well as simple bugs, and by determing application bottlenecks. The same user interface supports a wide range of 8-, 16-, and 32-bit processors, and DSPs. Tasking supports multiprocessor and multicore debugging by using its MultiCore Debug System (MDS). The MDS provides a single interface to synchronize target execution based on a user-defined debug topology. Using it, developers can specify and view the interactions between the multiple cores/processors. It also supports easy integration of third-party products.

Multiple and customizable viewing windows let developers view data when, where, and how they need it. Probe points are used to set breakpoints based on a sequence of events for nonintrusive debugging. Profiling identifies bottlenecks. Code coverage tracks all memory access so developers can determine if there are any areas of unexecuted code. Graphical data analysis reduces large sets of input and output data streams into visual diagrams so developers can quickly detect gross errors.

Multi 2000
The heart of Green Hills Software's Multi 2000 integrated development environment (IDE) is the Multi source-level debugger suitable for single-processor, multiprocessor, and multicore debugging even in a heterogeneous processor environment. The debugger is RTOS-aware and supports process- and system-level debugging, suiting it for developing large embedded systems.

Version 3.5 features Project Wizard, which simplifies the getting-started process out-of-the-box. Multi 3.5 also introduces a Target Connection Wizard that makes it easy to define the debug connection between the host debugger and embedded target system. Through the Wizard, users can select the target processor, the type of target connection (i.e., simulator, ICE, emulation probe, ROM monitor, on-chip debug), and the physical connection media (Ethernet, USB, or RS-232C). Different connections can be used with multiprocessors. The Multi debugger also features incremental debug capability and a graphical memory viewer.

Debugger XRAY XDB Tornado II
Company Mentor Graphics Corp. Intel Corp. Wind River Systems Inc.
Web site www.mentorgraphics.com www.cad-ul.com www.windriver.com
Processors MIPS, ARM, PowerPC, 68K, ColdFire x86, Pentium PowerPC, MIPS, ARM, x86/Pentium, CPU 32, 68K, ColdFire, Sun SPARC, Intel i960
Interfaces Ethernet, RS-232, Parallel Ethernet, RS-232 Ethernet, RS-232, Custom
BDM/JTAG Macraigor - Raven, Wiggler; EPI, MAJIC, MAJIC+, JEENI, ARM, MultiICE OCDemon, CodeTAP, HP E3491A Agilent, VisionProbe, Jeeni, MultiICE
Hardware tracing Agilent Trace Port Analyzer; EPI, MAJIC+ none Agilent
ICE see BDM/JTAG and Trace DProbeP5, SuperTAP Agilent, Tektronix
Simulator yes yes yes
Languages C, C++, Assembly C, C++, EC++ C, C++, Assembly, Java
RTOS VRTX, OSE ATI NucleusPlus, pRISM+, pSOS, Linux, RTLinux, RMOS, US SoftwareSuperTask! VxWorks, VxWorks AE
Host OS Windows95/98/ME/NT/2000, Sun Solaris Windows95/98/ME/NT/2000, Sun Solaris Windows95/98/ME/NT/2000, Unix
Other multiprocessor support, external hardware trigger CodeCoverage, PostMortem supports VxWorks HA Framework, CodeTEST code coverage, CodeTEST dynamic memory monitor

Deeply embedded system-on-a-chip (SoC) 32- and 64-bit applications are prime candidates for Mentor Graphics' XRAY debugger. It not only provides embedded debugging and simulator support, but also links to hardware and software coverification systems used to design SoCs.

XRAY handles complex, multicore, and multiprocessor embedded system designs. The Connection Manager lets different connections be used between XRAY and each processor. For example, one SoC-based processor may utilize a JTAG interface while another utilizes a serial link and a ROM monitor. Complex breakpoints can be used across processors. RTOS-aware support lets background watchdog tasks continue running while XRAY halts and examines another task.

XRAY has a C-like macro language for customized debugging sessions. Macros can be used with breakpoints. They can also be included in script files. In addition, debug sessions can be recorded. A session record, or journal, can be played back later, making it easier to return to a prior state under many circumstances.

Tornado II
VxWorks developers can use other development tools, although most turn to Wind River's own Tornado II IDE, including the Tornado II debugger. Tornado II supports the range of VxWorks operating systems, including VxWorks AE and the VxWorks High Availability (HA) Framework.

VxWorks has found a home in small and large embedded projects. Tornado II works well in team development environments with support for popular source-code control systems, like ClearCase, SCCS, RCS, PVCS, and MS Visual SourceSafe.

Tornado II comes with its own debugging tools, like WindView, a time trace tool for VxWorks tasks. Also, it comes integrated with VxSim-Lite simulator. The full VxSim is an option that provides more extensive simulation support. Tornado II is accompanied by its own Tool Control Language (Tcl). This provides front-end customization for the debugger and IDE. And, tight integration with VxWorks lets Wind River include various wizards in Tornado II that speed configuration and project creation.

Embedded systems increasingly house more Intel x86-based processors. CAD-UL's XDB debugger helps get applications for these embedded systems running.

XDB incorporates a number of useful and sometimes unique features, such as the CodeCoverage and XDB PostMortem modules. CodeCoverage support requires no source-code instrumentation. It also supports profiling.

Typically, an XDB ROM monitor is employed on the target machine. After adding the XDB PostMortem module, developers can check out recorded information after a system crash. Moreover, XDB PostMortem can e-mail the information if the system is properly equipped with e-mail support.

The XDB simulator supports device simulation. Plus, the debugger handles Embedded C++ (EC++)-based tools in addition to C, C++, and Assembly. RTOS-aware, XDB supports a wide range of RTOS products.

Third-party support includes the Universal Debug Interface (UDI). It lets developers create application- or tool-specific modules that work with XDB. Also, it permits GUI customization.

Debugger SeeCode Code Composer Studio CodeWarrior
Company MetaWare Inc. Texas Instruments Metrowerks Inc.
Web site www.metaware.com www.ti.com www.metrowerks.com
Processors ARC, ARM, StrongARM, MIPS, PowerPC, and 568xx TI DSPs, picoJava PowerPC, MIPS, ARM, x86/Pentium, NEC V8xx, 68K, ColdFire, ST7, HCxx, StarCore, MCORE, Motorola DSP
Interfaces Ethernet, RS-232 RS-232, JTAG Ethernet, RS-232, USB
BDM/JTAG Agilent, Abatron, EPI, Macraigor Systems, and others yes yes
Hardware tracing yes none yes
ICE yes yes yes
Simulator yes yes yes
Languages C, C++, Assembly C, C++, Assembly Java, C, C++, EC++, Assembly
RTOS ThreadX, Nucleus, MQX DSP/BIOS ATI NucleusPlus, Linux, OSEK turbo, QNX Neutrino, RTCX, Precise/MQX
Host OS Windows95/98/ME/NT/2000 Windows 98/NT/2000, Sun Solaris Windows 95/98/ME/NT/2000
Other Multiprocessor support Multiprocessor support, version control system, RTDX support code coverage, hierarchical profiler, multiprocessor support, version-control system

Embedded and system-on-a-chip (SoC) software developers can utilize MetaWare's SeeCode to debug up to 256 processors in one debug session. This feature is provided by SeeCode's Coordinated Multi-Processor Debugging (CMD) facility.

SeeCode's object-oriented design makes CMD possible, and allows simulation of multiple peripherals by SeeCode's simulator. SeeCode can be used with a mix of simulated and real hardware.

The simulator has a number of useful enhancements unavailable on real hardware. One is the Instruction History Trace facility. It's possible to save multiple system states using the simulator or real hardware. Any display window can also be locked down to compare before and after states. SeeCode also supports processor-specific features, like ARC extensions from ARC.

SeeCode's Java-based interface is extensible. Just write some Java classes and add them to SeeCode. Also, a command-line interface can be used with SeeCode. Multiple interfaces can be employed in a multiprocessor debugging environment.

The breadth of CodeWarrior's support makes it ideal for heterogeneous development environments that incorporate platforms ranging from 8- and 16-bit devices to Java-based applications running on 32-bit processors. CodeWarrior also is integrated with a number of RTOSs such as Linux, Precise Software Technologies' Precise/MQX, and QNX Neutrino.

The CodeWarrior debugger is a seamless component of the CodeWarrior IDE. The IDE supports the popular embedded development languages, including Java and C++. Plus, it supports Embedded C++, a compact subset of C++ designed for embedded environments. The compilers are part of CodeWarrior. Using its own scripting language, CodeWarrior can be extended. And, CodeWarrior supports Metrowerks' hierarchical profiler and code-coverage tools. The hierarchical profiler has a GUI that highlights hotspots and bottlenecks in source code. CodeWarrior can be integrated with version-control systems too for team-oriented source-code management.

Code Composer Studio
Concentrating on Texas Instruments' DSP development? Then TI's Code Composer Studio is an obvious choice. It provides a complete IDE, including a debugger tailored for DSP application development. It also can be used with other development tools in mixed DSP/host processor environments.

TI's DSPs support the high-speed Real Time Data eXchange (RTDX) between a host processor and the DSP. Code Composer understands this interface and can track information that's exchanged. RTDX is used in conjunction with DSP/BIOS, TI's real-time software kernel. Code Composer also is integrated with DSP/BIOS.

Code Composer's simulator supports both DSP/BIOS and RTDX, letting application development proceed without the need for hardware. A number of real-time analysis and data-visualization tools are included. For example, one data-visualization tool presents information in memory as a graph. Code Composer's third party interface supports extension to this development environment. Code Composer also supports third-party compilers, including UML and VAB.

Debugger Hard Hat Linux GDB ZAP ChipView For Windows
Company Monta Vista Inc. Cosmic Software ChipTools Inc.
Web site www.mvista.com www.cosmicsoftware.com www.chiptools.com
Processors MIPS, NEC, PMC-Sierra, PowerPC, ARM, StrongARM, Hitachi SH, x86 Motorola 6809, 68HC0x, 68HC1x,68300, 680xx, STMicroelectronics ST7 Intel 8x51-compatible and derivatives, Intel 80196/80296
Interfaces Ethernet, RS-232 RS-232, BDM RS-232
BDM/JTAG Embedded ICE JTAG, Abatron BDI-2000, and others yes P&E Microcomputer Systems ICD BDM
Hardware tracing ARM ETM-9 and others none none
ICE Embedded ICE JTAG HDS2 (for ST7) Ashling, Hitex, Isystem, Lauterbach, and Nohau
Simulator yes yes yes
Languages C, C++, Java, Assembly, and others C, Assembly C, PLM, Assembly
RTOS Linux none Software Development Systems (SDS), API-compatible RTOSs
Host OS Linux, Windows 98/NT/2000 Windows 98/NT/2000 Windows 3.x/95/98/NT/2000, Sun SPARC, HP9000
Other Linux Trace Tool, multiprocessor debugging, source-code control system   code coverage, performance analysis profiling, code coverage

Cosmic Software concentrates on the Motorola microcontroller and processor arena supporting the Motorola 6809, 68HCxx, 68300, and 680xx architectures. A version also is available for the STMicroelectronics ST7 microcontroller. The ZAP debugger is an RTOS-aware product that supports the Software Development Systems (SDS) API for RTOS/debugger interaction.

The ZAP Simulator incorporates an interrupt configuration system to simulate microcontroller interrupts. Cycle level timing is available for tracking critical performance paths. Session record and playback works with the simulator and on real hardware.

Code coverage and performance analysis tools provide a by-file or function overview. Performance information can be displayed in a graphical format. The Chronogram feature provides a timeline of function calls. It presents information in a fashion similar to the Linux Trace Tool, but at a lower level.

ZAP and other Cosmic development tools such as C compilers can be integrated with third-party products like Premia's CodeWright Windows editor and project manager. Cosmic also has its own development environment called IDEA.

Hard Hat Linux GDB
Monta Vista's Hard Hat Linux development environment utilizes the standard Linux gnu debugger (GDB) and data display debugger (DDD) and extends these with support for in-circuit emulation, JTAG, and BDM probes like Abatron's BDI 2000.

Monta Vista supports self-hosted and cross-platform debugging using GDB and DDD, which both support serial and Ethernet connections. Cross-platform debugging is handled through the gdbserver that runs on the host.

Hard Hat Linux also comes with the open-source Linux Trace Tool (LTT). It works with x86 and PowerPC hosts, and provides kernel-level tracing of Linux tasks. LTT gives developers a graphical display for analyzing processor utilization and resource allocation.

Hard Hat Linux's Java support is provided by IBM's VisualAge Micro Edition (VAME) and J9 Java virtual machine (JVM). VAME incorporates its own Java debugger, which supports the standard Java remote debug protocol. The Hard Hat GUI-based Target Configuration Tool (TCT) permits debug-kernel building. It also incorporates selected services like the J9 JVM and the Linux file system.

ChipView For Windows
ChipTools concentrates on the microcontroller arena supporting the Intel 8x51 architecture (ChipView-x51), as well as 80196 and 80296 processors (ChipView-x96). The ChipView for Windows debugger is an RTOS-aware product that supports the Software Development Systems (SDS) application programming interface (API) for RTOS/debugger interaction.

The ChipView-x96 simulator supports 16- and 24-bit opcodes. Interrupts can be generated using the Virtual Hardware Setup interface.

The ChipView-x51 simulator provides more extensive services. Off-chip peripherals can be implemented as memory-mapped and simulated via I/O files or by custom ActiveX controls. The controls are connected to ChipView's virtual peripheral interface. Elapsed cycle times are continuously measured, allowing tests and timing of interrupt-driven routines. And, the ChipView-x51 simulator operates at near real-time speeds. Also, ChipView-x51 operates with most popular in-circuit emulators (ICEs). User-interface scripting is supported using VBScript and JScript.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.