English
Language : 

PXN20RM Datasheet, PDF (1235/1376 Pages) Freescale Semiconductor, Inc – PXN20 Microcontroller
Nexus Development Interface (NDI)
36.7.9.2.4 OTM Flow
Ownership trace messages are generated when the operating system writes to the e200z0 process ID
register or the memory mapped ownership trace register.
The following flow describes the OTM process:
1. The process ID register is a system control register. It is internal to the e200z0 processor and can
be accessed by using PPC instructions se_mtspr and se_mfspr. The contents of this register are
replicated on the pins of the processor and connected to Nexus.
2. OTR/process ID register reads do not cause ownership trace messages to be transmitted by the
Nexus2+ module.
3. If the periodic OTM message counter expires (after 255 queued messages without an OTM), an
OTM is sent using the latched data from the previous OTM or process ID register write.
36.7.9.3 Program Trace
This section details the program trace mechanism supported by Nexus2+ for the e200z0 processor.
Program trace is implemented via branch trace messaging (BTM) as per the Class 3 IEEE-ISTO
5001-2003 standard definition. Branch trace messaging for e200z0 processors is accomplished by
snooping the e200z0 address bus, attribute signals, and CPU status.
36.7.9.3.1 Branch Trace Messaging (BTM)
Traditional branch trace messaging facilitates program trace by providing the following types of
information:
• Messaging for taken direct branches includes how many sequential instructions were executed
since the last taken branch or exception. Direct (or indirect) branches not taken are counted as
sequential instructions.
• Messaging for taken indirect branches and exceptions includes how many sequential instructions
were executed since the last taken branch or exception and the unique portion of the branch target
address or exception vector address.
Branch history messaging facilitates program trace by providing the following information:
• Messaging for taken indirect branches and exceptions includes how many sequential instructions
were executed since the last predicate instruction, taken indirect branch, or exception, the unique
portion of the branch target address or exception vector address, as well as a branch/predicate
instruction history field. Each bit in the history field represents a direct branch or predicated
instruction where a value of one (1) indicates taken, and a value of zero (0) indicates not taken.
Certain instructions (evsel) generate a pair of predicate bits that are both reported as consecutive
bits in the history field.
e200z0 Indirect Branch Message Instructions
Table 36-57 shows the types of instructions and events that cause indirect branch messages or branch
history messages to be encoded.
Freescale Semiconductor
PXN20 Microcontroller Reference Manual, Rev. 1
36-85