MPC561/MPC563 Reference Manual, Rev. 1.2
Freescale Semiconductor
23-1
Chapter 23
Development Support
The visibility and controllability requirements of emulators and bus analyzers are in opposition to the trend
of modern microcomputers and microprocessors where many bus cycles are directed to internal resources
and are not visible externally.
In order to enhance the development tool visibility and controllability, some of the development support
functions are implemented in silicon. These functions include program flow tracking, internal watchpoint,
breakpoint generation, and emulation while in debug mode.
This section covers program flow tracking support, breakpoint/watchpoint support, development system
interface support (debug mode) and software monitor debugger support. These features allow efficiency
in debugging systems based on the MPC561/MPC563.
23.1
Program Flow Tracking
The mechanism described in this section allows tracking of program instruction flow with almost no
performance degradation. The information provided may be compressed and captured externally and then
parsed by a post-processing program using the microarchitecture defined below.
The program instructions flow is visible on the external bus when the MPC561/MPC563 is programmed
to operate in serial mode and show all fetch cycles on the external bus. This mode is selected by
programming the ISCT_SER (instruction fetch show cycle control) field in the I-bus support control
register (ICTRL), as shown in
. In this mode, the processor is fetch serialized, and all internal
fetch cycles appear on the external bus. Processor performance is, therefore, much lower than when
working in regular mode.
These features, together with the fact that most fetch cycles are performed internally (e.g., from the
I-cache), increase performance but make it very difficult to provide the real program trace.
In order to reconstruct a program trace, the program code and the following additional information from
the MCU are needed:
•
A description of the last fetched instruction (stall, sequential, branch not taken, branch direct taken,
branch indirect taken, exception taken)
•
The addresses of the targets of all indirect flow change. Indirect flow changes include all branches
using the link and count registers as the target address, all exceptions, and rfi, mtmsr and mtspr (to
some registers) because they may cause a context switch.
•
The number of instructions canceled each clock
Instructions are fetched sequentially until branches (direct or indirect) or exceptions appear in the program
flow or some stall in execution causes the machine not to fetch the next address. Instructions may be
architecturally executed, or they may be canceled in some stage of the machine pipeline.
Summary of Contents for MPC561
Page 84: ...MPC561 MPC563 Reference Manual Rev 1 2 lxxxiv Freescale Semiconductor...
Page 144: ...Signal Descriptions MPC561 MPC563 Reference Manual Rev 1 2 2 46 Freescale Semiconductor...
Page 206: ...Central Processing Unit MPC561 MPC563 Reference Manual Rev 1 2 3 62 Freescale Semiconductor...
Page 302: ...Reset MPC561 MPC563 Reference Manual Rev 1 2 7 14 Freescale Semiconductor...
Page 854: ...Time Processor Unit 3 MPC561 MPC563 Reference Manual Rev 1 2 19 24 Freescale Semiconductor...
Page 968: ...Development Support MPC561 MPC563 Reference Manual Rev 1 2 23 54 Freescale Semiconductor...
Page 1144: ...Internal Memory Map MPC561 MPC563 Reference Manual Rev 1 2 B 34 Freescale Semiconductor...
Page 1212: ...TPU3 ROM Functions MPC561 MPC563 Reference Manual Rev 1 2 D 60 Freescale Semiconductor...
Page 1216: ...Memory Access Timing MPC561 MPC563 Reference Manual Rev 1 2 E 4 Freescale Semiconductor...