Debugger PPC
Debugger PPC
Release 09.2024
MANUAL
MPC5xx/8xx Debugger and Trace
TRACE32 Directory
TRACE32 Index
PQ/MPC500 ..............................................................................................................................
Introduction ....................................................................................................................... 6
Brief Overview of Documents for New Users 6
Demo and Start-up Scripts 6
Warning .............................................................................................................................. 7
FAQ ..................................................................................................................................... 14
Configuration ..................................................................................................................... 15
Breakpoints ........................................................................................................................ 17
Software Breakpoints 17
On-chip Breakpoints 17
On-chip Breakpoints on InstructionsROM or FLASH 18
On-chip Breakpoints on Read or Write Accesses 18
Example for Breakpoints 18
Simultaneous FLASH Programming for MPC555 19
Version 05-Oct-2024
Please keep in mind that only the Processor Architecture Manual (the document you are reading at the
moment) is CPU specific, while all other parts of the online help are generic for all CPUs supported by
Lauterbach. So if there are questions related to the CPU, the Processor Architecture Manual should be your
first choice.
Architecture-independent information:
• “Training Basic Debugging” (training_debugger.pdf): Get familiar with the basic features of a
TRACE32 debugger.
Architecture-specific information:
• “Processor Architecture Manuals”: These manuals describe commands that are specific for the
processor architecture supported by your Debug Cable. To access the manual for your processor
architecture, proceed as follows:
• “OS Awareness Manuals” (rtos_<os>.pdf): TRACE32 PowerView can be extended for operating
system-aware debugging. The appropriate OS Awareness manual informs you how to enable the
OS-aware debugging.
Lauterbach provides ready-to-run start-up scripts for known MPC5xx/8xx based hardware.
You can also manually navigate in the ~~/demo/powerpc/ subfolder of the system directory of TRACE32.
1. Disconnect the Debug Cable from the target while the target power is
off.
2. Connect the host system, the TRACE32 hardware and the Debug
Cable.
Power down:
1. Select the device prompt B: for the TRACE32 ICD-Debugger, if the device prompt is not active
after starting the TRACE32 software.
B:
SYStem.CPU MPC563
3. Inform the debugger where’s FLASH/ROM on the target, this is necessary for the use of the on-
chip breakpoints.
MAP.BOnchip 0x100000++0x0fffff
On-chip breakpoints are now used, if a program or spot breakpoint is set within the specified address
range. A list of all available on-chip breakpoints for your architecture can be found under On-chip
Breakpoints.
SYStem.Up
This command resets the CPU, enables the debug mode and stops the CPU at the first opfetch (reset
vector). After this command is possible to access memory and registers.
6. Set the special function registers to prepare your target memory for program loading.
The load command depends on the file format generated by your compiler. A full description of the
Data.Load command is given in the “General Commands Reference”.
The start-up sequence can be automated using the script language PRACTICE. A typical start sequence is
shown below. This sequence can be written to a PRACTICE script file (*.cmm, ASCII format) and executed
with the command DO <file>.
*) These commands open windows on the screen. The window position can be specified with the WinPOS
command. Refer to the PEDIT command to write a script and to the DO command to start a script.
General
• Locate the BDM connector as close as possible to the processor to minimize the capacitive
influence of the line length and cross coupling of noise onto the BDM signals.
Ensure that the debugger signal (HRESET) is connected directly to the HRESET of the processor. This will
provide the ability for the debugger to drive and sense the status of HRESET. The target design should only
drive the HRESET with open collector, open drain. HRESET should not be tied to PORESET, because the
debugger drives the HRESET and DSCK to enable BDM operation.
• The TRACE32 internal buffer/level shifter will be supplied via the VCCS pin. Therefore it is
necessary to reduce the VCCS pull-up on the target board to a value smaller 10 .
• Pull up all inputs by 10 k resistors to VREF, except RSTI/. (Refer to the Freescale
Semiconductor recommendation AN2289/D)
At HRESET the Hard Reset Configuration bits will be sampled. Depending on the RSTCONF pin the
external or the internal configuration word is sampled.
0 DATA[0..31] pins
The multifunction I/O pins (VFLS0/1) have to be configured correctly for the debugging. Drive actively the
following pins:
There are two signal schemes possible to indicate the processor status to the debugger. Option A is
recommended but Option B is also supported for the BDM functionality.
Option B is used as an alternative to eliminate pin conflicts. Option B is typically used if:
IPB0/IWP0/VFLS0 1 2 /SRESET
GND 3 4 DSCK/TCK
GND 5 6 IP_BI/IWP1/VFLS1
HRESET 7 8 DSDI/TDI
VCCS 9 10 DSDO/TDO
FRZ/IRQ6 1 2 /SRESET
GND 3 4 DSCK/TCK
GND 5 6 FRZ/IRQ6
HRESET 7 8 DSDI/TDI
VCCS 9 10 DSDO/TDO
When the PowerPC’s development port (BDM) is used, the JTAG functionality is disabled.
BDM Termination
SYStem.Option.BRKNOMSK OFF: The program execution is not stopped as long as the processor is in a
non-recoverable state (RI bit cleared in the Machine Status register).
SYStem.Option.BRKNOMSK ON: The program execution can be stopped by a breakpoint even if the
processor is in a non-recoverable state. Since the debug exception overwrites SRR0 and SRR1 it is not
advisable to continue the debugging process.
MPC5xx The CPU handles the debug mode similar to an exception. Therefore
stopping during the non-recoverable state of the CPU will cause the
SRR0/1 registers to be lost. Breakpoints should not be placed at the start
and end of exception handlers to avoid this problem. Asynchronous
breakpoints can be disabled when the CPU is in non-recoverable state
(SYStem.Option.BRKNOMSK command). Executing a GO command is
not allowed when the CPU is in non-recoverable state. Single stepping on
assembler level is allowed.
SYStem.Up Errors
The SYStem.Up command is the first command of a debug session where communication with the target is
required. If you receive error messages while executing this command this may have the following reasons:
• The pull-up resistor between the JTAG/COP[VCCS] pin and the target VCC is too large.
• The target is in reset: The debugger controls the processor reset and use the RESET line to
reset the CPU on every SYStem.Up.
• There is logic added to the JTAG/COP state machine: The debugger supports only one
processor on one JTAG chain. Only the debugged processor has to be between TDI and TDO in
the scan chain. No further devices or processors are allowed.
FAQ
SWITCH PC or
Workstation
Target
PODBUS IN
POWER TRACE ETHERNET
Debug Cable
POWER
TRIGGER
SELECT
EMULATE
USB
DEBUG CABLE
RECORD
Ethernet
Connector
TRIGGER
Debug
Cable
ETHERNET
CON ERR
TRANSMIT
RECEIVE
POWER
7-9 V
COLLISION
C B A
PODBUS OUT
Connector
Trace
Preprocessor
1 GBit Ethernet
Target
Connector
Debug
POWER TRACE II
Connector
Trace
Preprocessor
POWER DEBUG PRO
POWER TRACE II
There are two types of breakpoints available: software breakpoints (SW-BP) and on-chip breakpoints (HW-
BP).
Software Breakpoints
Software breakpoints are the default breakpoints on instructions. Software breakpoints can be set to any
instruction address in RAM and after some preparations also to instructions in FLASH. For more
information, refer to the command FLASH.AUTO.
There is no restriction in the number of software breakpoints. Please consider that increasing the number of
software breakpoints will reduce the debug speed.
On-chip Breakpoints
The following list gives an overview of the usage of the on-chip breakpoints by TRACE32:
• CPU family
• Instruction breakpoints: Number of on-chip breakpoints that can be used for Program
breakpoints.
• Read/write breakpoints: Number of on-chip breakpoints that can be used as Read or Write
breakpoints.
• Data breakpoints: Number of on-chip data breakpoints that can be used to stop the program
when a specific data value is written to an address or when a specific data value is read from an
address.
MPC500/800 4 Instruction 4 2 2
2 Read/Write
If a breakpoint is set to an instruction, a software breakpoint is used by default. If your code is in FLASH,
ROM etc. you can advise TRACE32 to automatically use on-chip breakpoint for specific address ranges by
using the command MAP.BOnchip <range>.
On-chip breakpoints are always used, if a Read or Write breakpoint is set. For the MPC5xx/8xx it is also
possible to define a specific data value. Refer to the Break.Set command for more information.
Assume you have a target with FLASH from 0 to 0xFFFFF and RAM from 0x100000 to 0x11FFFF. The
command to configure TRACE32 correctly for this configuration is:
Map.BOnchip 0x0--0x0FFFFF
Software breakpoints:
On-chip breakpoints:
Simultaneous programming of the internal FLASH is supported for the masks K1, K2, K3 and M of the
MPC555.
Programming Procedure
1. Load the application program into the virtual memory of TRACE32-ICD.
For the simultaneous FLASH programming the code can not directly be loaded from the host. The
code has to be loaded into the virtual memory (VM) of TRACE32-ICD first.
TRACE32-PowerView can recognize empty 64-byte pages and skip them while programming. For
this reason the virtual memory should be initialized with 0xff.
; load the code for the internal FLASH into the virtual memory
Data.LOAD.Elf <file> <start_address_internal_flash>++0x6ffff /VM
FLASH.MultiProgram <start_address_internal_flash>++0x6ffff
If your application program also contains code for the external FLASH, this code has to be loaded
separately.
P Program
D Data
CP Compressed Program
If the cache is disabled, memory accesses to the memory classes IC or DC are realized by TRACE32-ICD
as reads and writes to physical memory.
Memory coherency on access to the following memory classes. If data will be set to DC, IC, NC, D or P the
D-Cache, I-Cache or physical memory will be updated.
NC: No No Yes
WR Is required.
STS Is not present when SIUMCR.DBGC== 00. In this case it is assumed that
the program trace show cycle for indirect change of flow is appearing
directly at the same clock where the indirect change of flow is shown.
This should be always the case when running only with internal
memories and having only indirect program show cycles active (no data
cycles or data show cycles).
PTR Is not present when SIUMCR.GPC !=00. In this case ALL program cycles
are assumed to be program trace cycles. This is always the case when
the program is running from internal memory and only indirect show
cycles are enabled. When external program memory is used the trace
may not be able to take the correct cycle as target for the indirect branch.
AT(2) Is taken from the WE2/AT2 line when SIUMCR.ATWC==1 (AT0-3 lines
enabled) or taken from the dedicated AT(2) line when
SIUMCR.ATWC==0 (WE0-3 lines enabled) and SIUMCR.MLRC ==x1
(AT(2) function enabled). When non of the two variants is possible the
debugger will assume that ALL cycles are program cycles (no data
cycles). The program flow trace will not be affected by this, as long as the
PTR line is available. When the AT(2) and PTR lines are both not
available the trace will only work when the code is running from internal
memory and only “indirect change of flow” show cycles are enabled.
VF0,VF1 Is taken from SIU when SIUMCR.DBGC==10, otherwise from the MIOS
pins. MIOS must be configured when MIOS pins are used. If none of the
pins are available then the program flow trace will not work. Direct cycle
tracing in fully serialized mode with show cycles for all cycles will still
work.
VFLS0,VFLS1 Is taken from SIU when SIUMCR.DBGC==x0, otherwise from the MIOS
pins. MIOS must be configured when MIOS pins are used.
LWPx, IWPx Optional lines. Only used when selective tracing features should be used.
Some trace adapters use drivers with “Bus Hold” feature. This resistor (about 20 k) can pull the lines
connected to the trace to VCC or Ground. If the target is using high impedance resistors to select a specific
level for the reset configuration it may not work. In this case make either the resistors on the target smaller or
disable the external reset configuration. Pulling down the TS line may also cause such effects. Use a pull-up
resistor (about 10 k) in this case.
Check that CLKOUT is available on the trace probe. Check that VFLS0 and VFLS1 are correctly configured.
Make sure that indirect branch program trace cycles are enabled (SYStem.Option.ICTL IND). Check that
PTR signal is correctly recorded in trace. Check for presence of VF0, VF1 and VF2 signals. Make sure that
program has executed an indirect branch while sampling data for the trace.
• SYStem.Option.SIUMCR ON /OFF
Selects the frequency for the debug interface. A fixed frequency or a divided external clock can be used.
StopAndGo Temporarily halts the core(s) to perform the memory access. Each
stop takes some time depending on the speed of the JTAG port, the
number of the assigned cores, and the operations that should be
performed.
<mode>: Down
StandBy
Up
Go
NoDebug
StandBy This mode is used to start debugging from power-on. The debugger will
wait until power-on is detected, then bring the CPU into debug mode, set
all debug and trace registers and start the CPU. In order to halt the CPU
at the first instruction, place an on-chip breakpoint to the reset address
(Break.Set 0x100 /Onchip)
Up Resets the CPU, enables the debug mode and stops the CPU at the first
opfetch (reset vector). All register are set to the default value.
Go Resets the target with debug mode enabled and prepares the CPU for
debug mode entry. After this command the CPU is in the system.up
mode and running. Now, the processor can be stopped with the break
command or until any break condition occurs.
Loads the vocabulary for code compression. This is usually not required, since the vocabulary is already in
the ELF file.
The CPU handles debug events similar to exceptions. When a debug event (normally a break) OR an
exception occurs, the CPU copies the MSR (Machine Status Register) into SRR1 (Machine Status
Save/Restore Register 1) and the IP (Instruction Pointer) into SRR0 (Machine Status Save/Restore Register
1). This means that after an exception occurred, the old values of IP and MSR are as backup in the SRR0
and SRR1 registers. If now a break happens, these values will be overwritten by the new MSR and IP
values. So, it is possible to return to the exception routine and stop the processor, but it’s not possible to
return to the main program and continue the user application! The status after the start of the exception
routine is called non recoverable state.
If one wants to break in a non recoverable state, you must switch the option BrkNoMsk to on.
If the code compression unit of the MPC5xx is used, this option must be switched on before the program is
loaded. Then correct disassembly is possible.
If the option CLEARBE is switched on, the BE bit of the MSR register will be cleared before every Go or
Step.
This option selects the clock for the Real-Time Trace. Option available for the TRACE32-ICD Risc Trace
Module.
For the flow trace functionality, it is necessary for the software to know the settings of the CS unit. The values
of these options must be the same values as the register values of the chip.
If this feature is enabled the status of the data caches is preserved while debugging. This feature should be
used in combination with SYStem.Option.DCREAD in order to read data as seen by the core. Otherwise all
memory accesses are as for access class NC.
If disabled, the debugger might modify the caches contents with each data access e.g. a Data.dump
window.
Default: ON.
OFF If data memory is displayed (memory class D:) the memory contents
from the physical memory is displayed.
The debug interface of the MPC8xx and MPC5xx returns the fatal error emulation debug port fail, when
reading incorrect communication data from the debug port. With this option, it is possible to suppress this
debug port fail, and recover the communication. This helps debugging in noisy environment.
Controls the internal CPU timer. If FREEZE is enabled, the timer will be stopped whenever the CPU enters
the debug mode.
As default, this option is off and the debugger set all necessary setting for the SIMCR register for the most
frequently used option A. (VFLS0/1 pins are connected to BDM connector pin 1 and 6). The
SYStem.Option.FreezePin can prevent the debugger for resetting/overwriting the SIMCR register to the
default settings.
If option B is used (FREEZE pin is connected to the BDM connector) this SYStem.Option.FreezePin must
be switched on.
NOTE: For the MPC5xx family all necessary configuration for the correct BDM pin setting have to be done in
the RSTCONF word.
With this option, you can set the instruction fetch show cycle and serialize control bits of the IBUS support
control register.
SERALL All fetch cycles are visible on the external bus. In this mode the processor
is fetch serialized. Therefore the processor performance is much lower
then working in regular mode.
SERCHG All cycles that follow a change in the program flow are visible on the
external bus. In this mode the processor is fetch serialized. Therefore the
processor performance is much lower then working in regular mode.
SERNONE In this mode the processor is fetch serialized. Therefore the processor
performance is much lower then working in regular mode. No information
about the program flow is visible on the external bus.
CHG All cycles that follow a change in the program flow are visible on the
external bus. The performance degradation is small here.
IND All cycles that follow an indirect change in the program flow are visible on
the external bus. The performance degradation is small here.
This setting is recommended if a preprocessor for MPC500/800 is used.
Invalidates the instruction cache and flush the data cache before starting the target program (Step or Go).
This is required when the CACHEs are enabled and software breakpoints are set to a cached location.
MPC5xx: Flushes the Instruction Prefetch Queue before starting the program execution by Step or Go
Default: OFF.
OFF If program memory is displayed (memory class P:) the memory contents
from the physical memory is displayed.
Default: OFF.
If enabled, the interrupt mask bits of the CPU will be set during assembler single-step operations. The
interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are
restored to the value before the step.
Default: OFF.
If enabled, the interrupt mask bits of the cpu will be set during HLL single-step operations. The interrupt
routine is not executed during single-step operations. After single step the interrupt mask bits are restored to
the value before the step.
Default: OFF.
Enables the usage of the MMU to support multiple address spaces. The command should not be used if
only one translation table is used. Enabling the option will extend the address scheme of the debugger by a
16-bit memory space identifier (space ID).
This option is needed for operating systems that run several applications at the same virtual address space
(e.g. Linux). The debugger uses this 16-bit memory space identifier to assign debug symbols to the memory
space of the according process.
If a debug session requires space IDs, then you must enable the option before loading the debug symbols.
OFF (default) The external data bus is connected to the trace connector.
Default: OFF. By setting a software breakpoint the original code at the break location is patched by TRAP. If
the TRAP command is already used by the application software for another purpose, an illegal instruction is
patched instead of TRAP if the SYStem.Option.NOTRAP is ON.
ON With this setting the TRAP exception is no longer used for software
breakpoints. UNDEF 0 is used instead.
Use the command TrOnchip.Set PRIE OFF. With this setting the debug
mode is no longer entered when a TRAP occurs. See also the Debug
Enable Register in you processor manual.
Now your application can handle the TRAP instruction.
Default: OFF.
ON Activates the overlay extension and extends the address scheme of the
debugger with a 16 bit virtual overlay ID. Addresses therefore have the
format <overlay_id>:<address>. This enables the debugger to handle
overlaid program memory.
WithOVS Like option ON, but also enables support for software breakpoints. This
means that TRACE32 writes software breakpoint opcodes to both, the
execution area (for active overlays) and the storage area. This way, it is
possible to set breakpoints into inactive overlays. Upon activation of the
overlay, the target’s runtime mechanisms copies the breakpoint opcodes to
the execution area. For using this option, the storage area must be readable
and writable for the debugger.
Example:
SYStem.Option.OVERLAY ON
List.auto 0x2:0x11c4 ; List.auto <overlay_id>:<address>
Reading the FPU registers of the MPC5xx requires two memory words in target memory. This option defines
which location is used. The content of the memory location will be restored after use. If AUTO is used, two
memory words of the on-chip RAM are used for reading the FPU registers.
In order to trace the program and data flow, it is necessary for the TRACE32 software to know the settings of
some peripheral pins. The value of this option must be the same value as the SIUMCR register of the chip.
The debug interface of the MPC8xx and MPC5xx has a special mode for fast download of 32 bit data. For
some older versions of the chips, it might be necessary to switch to a slower download mode to get proper
results.
After the debugger resets the CPU (e.g. via SYStem.Up), the debugger senses HRESET for 2 … 3 s before
an error message is displayed.
This method uses software breakpoints to perform an assembler single step instead of the processor’s built-
in single step feature. Works only for software in RAM. Do not turn ON unless advised by Lauterbach.
Defines the address ranges for not-standard interrupt vectors for the disassembler. This is necessary if the
interrupt vector table is relocated or if the enhanced interrupt control is used.
Uses VFLS pins for run/stop detection. Improves run-time measurement precision. See RunTime window.
If this option is switched off, the watchdog timer of the CPU is disabled after the SYStem.Up.
Otherwise the watchdog will be periodically reset by the debugger. Software Watchdog Timer (SWT) —
The SWT asserts a reset or non-maskable interrupt (as selected by the system protection control register) if
the software fails to service the SWT for a designated period of time (e.g, because the software is trapped in
Format: SYStem.state
This command is not necessary for the NEXUS debugger. It is only available to keep PRACTICE scripts
compatible for both the BDM and the NEXUS debugger.By setting a software breakpoint the original code at
the break location is patched by TRAP. If the TRAP command is already used by the application software for
another purpose, an illegal instruction is patched instead of TRAP if the SYStem.Option.NOTRAP is ON.
<table>: PageTable
KernelPageTable
TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0
<cpu_specific_tables>
• If the command is called with either an address range or an explicit address, table entries will
only be displayed if their logical address matches with the given parameter.
<root> The <root> argument can be used to specify a page table base address
deviating from the default page table base address. This allows to display a
page table located anywhere in memory.
For most table types, the arguments <range> or <address> can also be
used to select the translation table of a specific process if a space ID is
given.
TaskPageTable Displays the MMU translation table entries of the given process. Specify
<task_magic> | one of the TaskPageTable arguments to choose the process you want.
<task_id> | In MMU-based operating systems, each process uses its own MMU
<task_name> | translation table. This command reads the table of the specified process,
<space_id>:0x0 and displays its table entries.
• For information about the first three parameters, see “What to
know about the Task Parameters” (general_ref_t.pdf).
• See also the appropriate OS Awareness Manuals.
<table>: PageTable
KernelPageTable
TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0
<cpu_specific_tables>
• If called without address or range parameters, the complete table will be displayed.
• If called without a table specifier, this command shows the debugger-internal translation table.
See TRANSlation.List.
• If the command is called with either an address range or an explicit address, table entries will
only be displayed if their logical address matches with the given parameter.
<root> The <root> argument can be used to specify a page table base address
deviating from the default page table base address. This allows to display
a page table located anywhere in memory.
For most table types, the arguments <range> or <address> can also be
used to select the translation table of a specific process or a specific
machine if a space ID and/or a machine ID is given.
TaskPageTable Lists the MMU translation of the given process. Specify one of the
<task_magic> | TaskPageTable arguments to choose the process you want.
<task_id> | In MMU-based operating systems, each process uses its own MMU
<task_name> | translation table. This command reads the table of the specified process,
<space_id>:0x0 and lists its address translation.
• For information about the first three parameters, see “What to
know about the Task Parameters” (general_ref_t.pdf).
• See also the appropriate OS Awareness Manuals.
<table>: PageTable
KernelPageTable
TaskPageTable <task_magic> | <task_id> | <task_name> | <space_id>:0x0
ALL
<cpu_specific_tables>
Loads the CPU-specific MMU translation table from the CPU to the debugger-internal static translation table.
• If called without parameters, the complete page table will be loaded. The list of static address
translations can be viewed with TRANSlation.List.
• If the command is called with either an address range or an explicit address, then page table
entries will only be loaded if their logical address matches with the given parameter.
PageTable Loads the entries of an MMU translation table and copies the address
translation into the debugger-internal static translation table.
• if <range> or <address> have a space ID: loads the translation
table of the specified process
• else, this command loads the table the CPU currently uses for
MMU translation.
TaskPageTable Loads the MMU address translation of the given process. Specify one of
<task_magic> | the TaskPageTable arguments to choose the process you want.
<task_id> | In MMU-based operating systems, each process uses its own MMU
<task_name> | translation table. This command reads the table of the specified process,
<space_id>:0x0 and copies its address translation into the debugger-internal static
translation table.
• For information about the first three parameters, see “What to
know about the Task Parameters” (general_ref_t.pdf).
• See also the appropriate OS Awareness Manual.
ITLB Loads the instruction translation table from the CPU to the debugger-internal
translation table.
DTLB Loads the data translation table from the CPU to the debugger-internal
translation table.
Sets the specified MMU TLB table entry in the CPU. The parameter <tlb> is not available for CPUs with only
one TLB table.
<index> TLB entry index. From 0 to (number of TLB entries)-1 of the specified
TLB table
<mas0> Values corresponding to the values that would be written to the MAS
<mas1> registers in order to set a TLB (or MPU) entry. See the processor’s
<mas2> reference manual for details on MAS registers.
<mas3> For processors with a core MPU (MPC57XX/SPC57X series), use TLB2
to generate an MPU entry).
ON (default) If all resources for the on-chip breakpoints are already used and if the
user wants to set an additional on-chip breakpoint, TRACE32 converts
an on-chip breakpoint set to a short address range (max. 4 bytes) to a
single address breakpoint to free additional resources.
OFF If all resources for the on-chip breakpoints are already used and if the
user wants to set an additional on-chip breakpoint, an error message is
displayed.
Format: TrOnchip.DISable
Disables NEXUS register control by the debugger. By executing this command, the debugger will not write or
modify any registers of the NEXUS block. This option can be used to manually set up the NEXUS trace
registers. The NEXUS memory access is not affected by this command. To re-enable NEXUS register
control, use command TrOnchip.ENable. Per default, NEXUS register control is enabled.
Format: TrOnchip.ENable
Enables NEXUS register control by the debugger. By default, NEXUS register control is enabled. This
command is only needed after disabling NEXUS register control using TrOnchip.DISable.
OFF Off
EQ Equal
NE Not equal
LE Lower equal
GE Greater equal
LT Lower then
GT Greater then
<selector>: OFF
Alpha
Beta
Charly
Delta
Echo
<cycle>: Read
Write
Access
<selector>: OFF
G
H
GANDH
GORH
<selector>: OFF
Alpha
Beta
Charly
Delta
Echo
<selector>: OFF
Alpha
Beta
Charly
Delta
Echo
Format: TrOnchip.RESet
The program execution is stopped at the specified exception. For details and availability of a debug event on
a specific processor, plesae refer to “Debug Enable Register (DER)” in the processor reference manual.
If program execution is stopped by an exception, the name of the exception is shown in the command line of
TRACE32. Refer to the description of the Exception Cause Register in your processor manual for details.
Format: TrOnchip.state
The two signal names on pin 1. 2 and 6 have the same physical meaning. Only the use of the names differs
between MPC500 and MPC800.
This section shows you, how to set up a flow trace for the MPC5xx/8xx by using the TRACE32-ICD software
trace.
Background
If the Trace Exception causes the processor to enter into the debug mode or if the Trace Exception is
handled by an interrupt service routine, can be decided by setting the TRE (Trace interrupt enable bit) bit in
the DER (Debug Enable Register).
In consequence of this single stepping is not possible while a software trace as flow trace is used.
The time base facility (TB) of the MPC5xx/8xx can be used as source for the timestamp unit.
2. Add a interrupt service routine for the Trace Exception to your application.
~~/demo/powerpc/etc/logger/mpc500/logdemo.c
5. Enter the start address of the logger description block in the LOGGER.state window or using the
command LOGGER.ADDRESS
6. Enable timestamps by selecting LOGGER.TimeStamp.Up and set the timestamp rate with the
command LOGGER.TimeStamp.Rate
LOGGER.Init
Prior to the initialization the chip selects have to be configured in order to get access to the target
RAM.
Trace.METHOD LOGGER
10. Start the user program by Go and stop it again. Display the software trace with Trace.List.