
Chapter 11. Debug Support
For More Information On This Product,
Go to: www.freescale.com
11-67
ColdFire Debug History
An external mechanism to generate a debug interrupt
A mechanism to inhibit debug interrupts after the RTE exit
A mechanism to identify the revision level of the debug module
Rev. B enhancements provide backward compatibility with the original design.
11.8.3 ColdFire Debug Revision C
Continuing discussions with customers and the developer community led to Revision C
design enhancements primarily related to improvements in the real-time debug
capabilities of the ColdFire architecture. The remainder of this section details these
enhancements.
11.8.3.1 Debug Interrupts and Interrupt Requests (Emulator Mode)
In Rev. A and Rev. B ColdFire debug implementations, the response to a user-defined
breakpoint trigger can be configured to be one of three possibilities:
The breakpoint trigger can merely be displayed on the DDATA bus, with no
internal reaction to the trigger. The trigger state information is displayed on
DDATA in all situations.
The breakpoint trigger can force the processor to halt and allow BDM activities.
The breakpoint trigger can generate a special debug interrupt to allow real-time
systems to quickly process the interrupt and return to normal system executing as
rapidly as possible.
The occurrence of the debug interrupt exception is treated as a special type of interrupt. It
is considered to be higher in priority than all normal interrupt requests and has special
processor status values to provide an external indication that this interrupt has occurred.
Additionally, the execution of the debug interrupt service routine is forced to be
interrupt-inhibited by the processor hardware with an optional capability to map all
instruction and operand references while in this service routine into a separate address
space so that an emulator could define the routine dynamically. The current processor
implementations actually include a program-invisible state bit which defines this emulator
mode of operation. Also note, the interrupt mask level is not modified during the
processing of a debug interrupt.
Customers with real-time embedded systems have specifically asked for the ability to
service normal interrupt requests while processing the debug interrupt service routine. In
many systems of this type, motion-based servo interrupts must be considered as the
highest priority interrupt request.
To provide this functionality and be able to service any number of normal interrupt
requests (including the possibility of nested interrupts), the processor state signaling
emulator mode must be included as part of the exception stack frame.
F
Freescale Semiconductor, Inc.
n
.