Excalibur Debugging Solutions
Excalibur™ devices contain independent debug and trace modules that aid in resolving system problems. These debugging interfaces allow users to observe the processor operation either by stopping the processor or through real-time observation.
This page describes the features of both modules:
Debug Support
The ARM922T™ processor includes debug extensions to aid in the development of application software and operating systems. The debug extensions allow the processor to be stopped during normal operation, either by an instruction fetch (breakpoint), a data access (watchpoint), or an asynchronous debug request.
Once one of these operations occurs, the user can examine and restore the state of the processor, and the application can resume normal program execution.
The controller for the debug operations is known as the EmbeddedICE macrocell. The EmbeddedICE interface is accessible via a Joint Test Action Group (JTAG) serial interface that allows instructions to be inserted into the processor pipeline without using the external data bus, enabling the simple insertion of a Store Multiple type command to read out the internal state of all of the processors’ registers.
More information on debug tools for Excalibur devices is available on the Embedded Software Tools page.
Trace Support
Excalibur EPXA4 and EPXA10 devices also incorporate the ETM9™ embedded trace macrocell that allows observation of processor operation over time and at fully operational bus speeds. The embedded trace macrocell (ETM) contains two parts:
Trace Port
The trace port provides a real-time trace capability for ARM® processors embedded in Excalibur devices. Since Excalibur devices have large amounts of on-chip memory, it is not always possible to determine how a device's processor is operating purely by observing the pins on the device. The trace port allows real-time capture of the state of the processor during normal and abnormal operation.
Triggering Facilities
To capture meaningful real-time trace data, the capture must occur at the correct point in time to record the operations that require observation. The ETM9 macrocell provides address and data comparators, counters, and sequencers that can be combined to create complex trace capture triggering facilities.
The ETM9 is accessible via a JTAG debug interface, which sets up the trace port and displays any captured trace information in a user-friendly format. The JTAG debug interface is also used as a standard debug interface (as explained above). A dedicated trace port is used to export the trace information, which is compressed and captured using an external trace port analyzer (TPA).
After capture, the debugger can extract information from the TPA and decompress it to provide a full disassembly (with symbols) of the code that was executed. The debugger also can link this back to the original high-level source code, providing the user with a visualization of how the code was executed on the target system.
More information on TPA tools for Excalibur devices is available on the Embedded Software Tools page.
|