4.5. Debug activity across the chip

This section describes:

When you debug a single device, such as a processor in isolation, all the influences on that device are self-contained. In more complex systems, interactions occur between several devices, either several processors or single processors with several peripherals. These more complex systems require the ability to alter debug behavior depending on the nature of the interactions.

For example, when two processors interact with each other, it might be useful to maintain synchronization with both processors, and stop them together or halt one when the other reaches a predetermined point.

For activity in separate devices to link together, there must be some form of interconnection. Figure 4.6 shows an example interaction between processors.

Figure 4.6. Processor interaction

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


The following definitions provide terms that describe system interactions:

Event

An event is the expression that the system waits for to be true. When the event occurs, it generates a trigger each time that the expression is true. For example, in a simple event, the system waits for a signal to be HIGH. A complex event can result from a series of simple events, for example a primary event when an instruction executes and a secondary event that waits for the primary event to occur ten times.

Triggers

A trigger is an activity event that originates in one device but is used by other devices, or the same device. Triggers can range from an output pin toggling, for example to indicate that a buffer is full, to the result of an operation on complex counters and comparisons configured within a device, for example pulse on execution of code line 1000. It is possible to cascade trigger events and combine triggers within some devices to generate complex events that result in a single trigger.

Signals of interest

For any system, only certain signals are useful for debug. These are known as signals of interest. Any one device can have a large number of inputs and outputs, but not all of them require trigger connections. Signals of interest might indicate the state of a control program flow. For example:

  • interrupt inputs might make suitable inputs for triggers, and the stimulus attached to interrupts might be useful triggers to other devices

  • the results of internal comparators or performance counters presented on top-level outputs can be trigger events on other connected devices, or used as a feedback loop to the same device.

Figure 4.7 shows possible signals of interest for a core and interrupt unit.

Figure 4.7. Signals of interest

To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


Because of the variety and complexity of devices possible within a single SoC it is impossible to give an exhaustive list of trigger connections.

Copyright © 2004, 2007, 2010 ARM Limited. All rights reserved.ARM DGI 0012D
Non-ConfidentialID062610