AN5005, MPC5775K Nexus Aurora SPT Trace for ADAS Applications - Application ...

Freescale Semiconductor
Application Note
Document Number: AN5005
Rev 1, 02/2015
MPC5775K Nexus Aurora SPT
Trace for ADAS Applications
by:
Curt Hillier
Contents
1 Introduction
The MPC577xK family of 32-bit MCUs, built on Power
Architecture® technology, provides high levels of digital and
analog integration and performance within a single chip for
next-generation radar-based advanced driver assistance
systems (ADAS). Key features supporting RADAR signal
processing include eight Sigma Delta ADCs operating at 320
MHz and a dedicated, on-chip Signal Processing Toolkit
(SPT) for Fast Fourier Transform (FFT). Most customer
applications need to monitor SD ADC and SPT operation for
diagnostic purposes. The Nexus Aurora interface provides this
diagnostic capability through three pre-concentrators and a
Nexus Cross Bar Master Client (NXMC) feature. The three
pre-concentrators support SD ADC, SPT PDMA, and SPT
Sequencer trace. This application note details the NXMC
operation for SD ADC and SPT trace by illustrating three use
cases, one for each pre-concentrator.
2 SPT trace support
To provide Nexus data trace messaging from bus masters on
the master ports of the crossbar (XBAR) that do not inherently
have a trace client, a Nexus Crossbar Multi-Master Client
(NXMC) monitors traffic into the master port of the XBAR.
Trace messages transmitted over the Nexus interface (or
© 2015 Freescale Semiconductor, Inc.
1
Introduction................................................................1
2
SPT trace support...................................................... 1
3
SPT trace client operation.................. .......................3
4
SPT trace examples......................... ..........................5
5
Example NXMC Data Trace (with
timestamps)................................................................7
SPT trace support
stored in trace memory) include which NXMC generated the message as well as an identifier for the pre-concentrator source
of the message. In the MPC5775K, NXMC2 supports SD ADC and SPT data tracing via three pre-concentrators:
• SPT-ACQ: Traces SD ADC conversion data as it is transferred via Sigma Delta ADC Direct Memory Access (SDMA)
to System RAM
• SPT-DMA: Traces Program DMA (PDMA) transfers between the SPT and System RAM
• SPT-SEQ: Traces Sequencer functionality
The following block diagram illustrates the pre-concentrator and NXMC connectivity.
SD_0_ADCP
SD_0_ADCN
SD ADC 0
SD_1_ADCP
SD_1_ADCN
SD ADC 1
System
RAM
SDMA
...
SD_7_ADCP
SD_7_ADCN
PDI
SPT-ADC-Acquisition
SPT-Sequencer
SPT-DMA
SD ADC 7
Arbitration
Nexus XBAR Client 2
(NXMC2)
NPC
NAL
NAP
AR_TXP_0..3
AR_TXN_0..3
AR_CLKP_0
AR_CLKN_0
Serial
Trace
Tool
Figure 1. Block diagram of SPT-ACQ (SDMA) trace
The following table lists the pre-concentrator name, Source ID, Master ID, and comments.
Table 1. Nexus XBAR Client 2 source ID and master ID assignments
Trace Master Preconcentrator
Nexus trace source ID Trace master ID (MID)
(SRC)
Comments
SPT-DMA
0xE
throttle required to prevent Nexus overflow
0x6
SPT-Sequencer
0xD
SPT-ADC-Acquisition/PDI
0xE
HMASTER_ENC_DIS = 1
SD ADC identifier
HMASTER_ENC_DIS = 0
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
2
Freescale Semiconductor, Inc.
SPT trace client operation
If HMASTER_ENC_DIS = 0, then the following Nexus MID rules apply:
If Interleaved mode is selected, the MID will be:
• 0 => A,B,C,D ADC’s data in the transaction
• 1 => E,F,G,H ADC’s data in the transaction
If Tile-4 or Tile-8 mode is selected, the MID will be:
• 0 => A ADC’s data
• 1 => B ADC’s data
• 2 => C ADC’s data
• 3 => D ADC’s data
• 8 => E ADC’s data
• 9 => F ADC’s data
• 10 => G ADC’s data
• 11 => H ADC’s data
3 SPT trace client operation
This section describes Signal Processing Toolbox (SPT) trace operation for the following dataflows:
• SPT-ACQ - SDMA tracing from Sigma Delta ADCs to System RAM
• SPT-DMA - PDMA tracing between System RAM and the SPT
• SPT-SEQ - Sequencer trace
The SPT-ACQ pre-concentrator supports SDMA raw SD ADC conversion result monitoring. SDMA aggregates four SD
ADC conversion results (12 bits effective data in a 16-bit wide result per conversion) into a 64-bit DMA transfer. These 64bit data transfers are then encapsulated into a Nexus Data Write message with the following two possible formats: (1) Data
write message with sync and (2) Data write message.
An example of a Nexus data write with sync message is shown below. The message contains a full 32-bit address and uses 5
total beats. Message details are:
Table 2. Nexus data write with sync message
Field
Contents
TCODE
0x3C
SRC
0xE (NXMC2)
MID
0xE (or SD ADC identifier)
DSZ
4 (64 bits data)
F-ADDR
0x40100100 (start of SD ADC result buffer, defined in software)
DATA
<64 bits, 4 total SD ADC results>
Timestamp
Optional
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
Freescale Semiconductor, Inc.
3
SPT trace client operation
The Nexus data write message is similar to the Nexus data write message with sync, but differs in the TCODE and address
contents. The message contains a relative address which reduces the number of bits required for the address portion of the
Nexus message. For sequential addresses in memory, this typically reduces the overall Nexus message size per 64 bits data to
4 beats from 5 beats for the Nexus data write message with sync. An example of a Nexus data write message is shown below:
Table 3. Nexus data write message
Field
Contents
TCODE
0x3A
SRC
0xE (NXMC2)
MID
0xE (or SD ADC identifier)
DSZ
4 (64 bits data)
F-ADDR
0x0008 (address relative to previous Nexus data write message)
DATA
<64 bits, 4 total SD ADC results>
Timestamp
Optional
In the MPC5775K, the SPT SDMA trace supports two options controlled by the HMASTER_ENC_DIS bit. Option 1
(HMASTER_ENC_DIS = 1) results in the NXMC2 sending 0xE for the Nexus message Master ID (MID). Some debug tools,
when selecting SPT-ACQ will only display NXMC2 messages with MID = 0xE. Other messages are filtered. Option 2
(HMASTER_ENC_DIS = 0) results in the NXMC2 sending an SD ADC code in the Nexus message MID. In this case, the
SDMA mode affects the MID contents as shown below:
If interleaved mode is selected, the MID will be:
0: => SD ADC A, B, C, D results are in the data
1: => SD ADC E, F, G, H results are in the data
If Tile-4 or Tile-8 mode is selected, the MID will be:
0: => SD ADC A results
1: => SD ADC B results
2: => SD ADC C results
3: => SD ADC D results
8: => SD ADC E results
9: => SD ADC F results
10: => SD ADC G results
11: => SD ADC H results
Trace bandwidth requirements for SD ADC results can be calculated using the SD ADC conversion rate (10 Msps), data size,
Nexus message encapsulation overhead, and Nexus Aurora 8b / 10 b overhead.
NOTE
For example, given an SD ADC conversion rate of 10 Msps, a conversion size of 12 bits,
and a conversion encapsulation size of 16 bits, we can calculate the encapsulated
conversion rate by the following equation:
Rate = 10 Msps * 16 bits per sample
Rate = 160 Msps
Once we have this rate, we can calculate the typical Nexus message overhead. Assuming
there will be four conversions contained in a 64 bit bundle, and this bundle will consume
four 32 bit Nexus beats as shown below:
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
4
Freescale Semiconductor, Inc.
SPT trace examples
1st beat = TCODE, MID, SID, U-ADDR, padding
2nd beat = 30 bits data, 2 bits signaling
3rd beat = 30 bits data, 2 bits signaling
4th beat = 4 bits data, 26 bits padding, 2 bits signaling
This gives a total of 4 * 32 bits or 128 bits Nexus message per 64 bits conversion data.
We can calculate the necessary Nexus message rate by using the following equation:
Nexus Message rate = 160 Mbps * 128 message bits/64 data bits
Nexus Message rate = 320 Mbps
Finally, to determine the Nexus Aurora bandwidth rate requirement, we must consider the
8b / 10b encoding. We can calculate the necessary Nexus Aurora message rate by using
the following equation:
Nexus Aurora rate = 400 Mbps
The MPC5775K can support trace of multiple SD ADC channels since 400 Mbps fits
easily within the available 5 Gbps Aurora port bandwidth.
4 SPT trace examples
This section contains three examples to clearly illustrate how the debug tool and MPC5775K work together for tracing SPT
transactions. Two examples show how to configure SPT-ACQ (SDMA) tracing and one example illustrates SPT-DMA
(PDMA) tracing.
Example 1: SPT-ACQ - Master ID = SD ADC identifier
At the completion of four or eight SD ADC transactions, the SPT initiates an SDMA transaction to the SD ADC results
buffer defined by the user software. For this example, the SD ADC results buffer resides at a start address of 0x40100100.
We will trace a single chirp's worth of data, 256 transactions total. The following table shows the steps necessary to configure
Lauterbach T32 software and the MPC5775K:
Step
Setting
Description
Code
1
NEXUS.CLIENT3.MODE Write
Configure NXMC2 for Data Trace Write Message
PRACTICE script
2
NEXUS.CLIENT3.SELECT ALL Configure NXMC2 to trace all pre-concentrators
PRACTICE script
3
Break.Set
0x40100100--0x401005FF /
Write /Alpha
Setup data trace window start address and end
address. In this example, we are tracing the SD
ADC results buffer writes to System RAM. Define
this window as “Alpha”
PRACTICE script
4
TrOnchip.Alpha
TRACEDATACLIENT3
Assign NXMC2 trace to “Alpha” definition
PRACTICE script
5
Var.set hmaster_enc_dis=1
Setting this bit allows Nexus Master ID (MID) to be PRACTICE script
set to 0xE (SPT-ACQ ID)
6
Go
Execute the code, NXMC2 client will generate trace PRACTICE script
messages according to the step 1 through 5
configuration
Note: For step 5, the following C code is required.
uint32_t hmaster_enc_dis = 0;
/************************************ Main ***********************************/
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
Freescale Semiconductor, Inc.
5
SPT trace examples
int main()
{
// ... clock and SPT init code goes here ...
if(hmaster_enc_dis == 1)
SPT.SDMA_CTRL1.B.HMASTER_ENC_DIS = 1;
Nexus MID. Sets MID to 0xE.
else
SPT.SDMA_CTRL1.B.HMASTER_ENC_DIS = 0;
Nexus MID. Sets MID to SD ADC number.
// Disable the SD ADC indication for
// Enable the SD ADC indication for
// ... SD ADC / CTE code and SPT FFT code goes here ...
Example 2: SPT-ACQ - Master ID = 0xE (NXMC2)
Example 2 is similar to Example 1. Both examples trace the SDMA transactions from the SD ADCs to System RAM. The
difference is Example 2 configures HMASTER_ENC_DIS to cause the NXMC2 to populate 0xE (Master ID of the NXMC2)
into the Nexus MID field. The following table lists the steps required for this example:
Step
Setting
Description
Code
1
NEXUS.CLIENT3.MODE Write
Configure NXMC2 for Data Trace Write Message
PRACTICE script
2
NEXUS.CLIENT3.SELECT
SPTACQ
Configure NXMC2 to trace all pre-concentrators
PRACTICE script
3
Break.Set
0x40100100--0x401005FF /
Write /Alpha
Setup data trace window start address and end
address. In this example, we are tracing the SD
ADC results buffer writes to System RAM. Define
this window as “Alpha”
PRACTICE script
4
TrOnchip.Alpha
TRACEDATACLIENT3
Assign NXMC2 trace to “Alpha” definition
PRACTICE script
5
Var.set hmaster_enc_dis=0
Clearing this bit allows Nexus Master ID (MID) to
be set to the SD ADC ID
PRACTICE script
6
Go
execute the code, NXMC2 client will generate trace PRACTICE script
messages according to the step 1 through 5
configuration
Example 3: SPT-DMA (PDMA)
In the third example, the NXMC2 traces PDMA trasactions from the SPT to System RAM (a DMA write). In this case, SPT
throttling is required since the DMA bandwidth is greater than the available Nexus Aurora bandwidth of 5 Gbps. The
following table lists the steps required to configure Lauterbach T32 software and the MPC5775K to support SPT PDMA
tracing:
Step
Setting
Description
Code
1
NEXUS.CLIENT3.MODE DTM
Configure NXMC2 for Data Trace Message PRACTICE script
2
NEXUS.CLIENT3.SELECT SPTDMA
Configure NXMC2 to trace the SPT DMA
pre-concentrator
3
Break.Set 0x40040000--0x400405FF /
Write /Alpha
Setup data trace window start address and PRACTICE script
end address. In this example, we are
tracing the SPT FFT results buffer. Define
this window as “Alpha”
4
TrOnChip.Alpha TRACEDATACLIENT3
Assign NXMC2 trace to “Alpha” definition
5
SPT.PDMA_CONTROL.B.PDMA_MAX_B Restrict the PDMA burst size to 8 beats per C code
URST_SIZE = 0x1;
DMA transfer.
PRACTICE script
PRACTICE script
Table continues on the next page...
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
6
Freescale Semiconductor, Inc.
Example NXMC Data Trace (with timestamps)
6
MCB.MISC2.B.SPT_NEXUS_THROTTLE Set the Nexus throttle control to prevent
_CONTROL = 0x37;
Nexus message overflows. This inserts
time gaps in between each DMA transfer
between SPT and System RAM.
7
Go
C code
execute code. the NXMC2 generates trace PRACTICE script
messages for the FFT PDMA transactions
5 Example NXMC Data Trace (with timestamps)
The Nexus Multi-master Crossbar trace client (NXMC) can generate trace data from multiple bus masters. Below is an
extract of messages from an eDMA client on the MPC5746M. In this example, timestamps are turned turned on for every
message. This trace is taken from a eDMA test program that is transferring an incrementing value into a memory location.
This table is an extract of just 3 messages, including one overflow message. This overflow is a due to an input over-run of
data coming into the Nexus Aurora Router.
Table 4. Example NXMC Trace messages (memory dump of trace data)
Trace Memory
Words (hex)
Binary
Description
1
0xF821_3CE8
0b1111_1000_0010_0001_0011_1100_1110_1000
First word of of message A - Data
Write message
2
0x0000_0005
0b0000_0000_0000_0000_0000_0000_0000_0101
Second word of message A
3
0x2BEB_1438
0b0010_1011_1110_1011_0001_0100_0011_1000
Third word of message A
4
0x0000_000F
0b0000_0000_0000_0000_0000_0000_0000_1111
Last word of message A
5
0x8002_0C20
0b1000_0000_0000_0010_0000_1100_0010_0000
First word of message B - Error
Message
6
0x00CA_FBA3
0b0000_0000_1100_1010_1111_1011_1010_0011
Last word of message B
7
0x0DC1_3CF0
0b0000_1101_1100_0001_0011_1100_1111_0000
First word of message C - Data Write
with Synchronization message
8
0x0008_0015
0b0000_0000_0000_1000_0000_0000_0001_0101
Second word of message C
9
0x2BEE_9900
0b0010_1011_1110_1110_1001_1001_0000_0000
Third word of message C
10
0x0000_000F
0b0000_0000_0000_0000_0000_0000_0000_1111
Last word of message C
The following table shows the NXMC messages with all of the fields of the different messages broken out.
Table 5. NXMC trace message decode example
M Cl
sg k
A
1
2
d
2
9
d
2
8
d
2
7
d
2
6
d
2
5
d
2
4
d
2
3
d
2
2
d
2
1
d
2
0
d
1
9
d
1
8
d
1
7
d
1
6
d
1
5
d
1
4
d
1
3
d
1
2
d
1
1
d
1
0
d
9
d
8
d
7
d
6
d
5
d
4
d
3
0b1_1111_0000_0100
0b001
0b0011
0b1100
0b11_1010
U-ADDR
DSIZ
MSTR
SRC
TCODE
0b00_0000_0000
0b0000_0000_0000_0000_00011
d
2
d
1
d
0
M
S
E
O
1
M
S
E
O
0
0
0
0
1
Table continues on the next page...
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
Freescale Semiconductor, Inc.
7
Example NXMC Data Trace (with timestamps)
Table 5. NXMC trace message decode example (continued)
M Cl
sg k
d
2
9
d
2
8
d
2
7
d
2
6
d
2
5
d
2
4
d
2
3
d
2
2
d
2
1
Padding
3
4
B
5
6
C
7
8
9
d
2
0
d
1
9
d
1
8
d
1
7
d
1
6
d
1
5
d
1
4
d
1
3
d
1
2
d
1
1
d
1
0
d
9
d
8
d
7
d
6
d
5
d
4
d
3
d
2
d
1
d
0
M
S
E
O
1
M
S
E
O
0
0
0
1
1
0
0
1
1
0
0
0
1
0
0
1
1
U-ADDR
0b00_1010_1111_1010_1100_0101
0b0000_1110
TSTAMP
DATA
0b00_0000_0000_0000_0000_0000_0000
0b0011
Padding
TSTAMP
0b10 0b00_0000_0000_0010
0b0000
0b1100
0b00_1000
TSTA ECODE
MP
ETYPE
SRC
TCODE
0b00_0000
0b0011_0010_1011_1110_1110_1000
Padding
TSTAMP
0b0_0001_1011_1000
0b001
0b0011
0b1100
0b11_1100
F-ADDR
DSZ
MSTR
SRC
TCODE
0b00_0000_0000
0b0010_0000_0000_0000_0101
Padding
F-ADDR
0b00_1010_1111_1011_1010_0110
0b0100_0000
TSTAMP
DATA
10 0b0000_0000_0000_0000_0000_0000_00
0b0011
Padding
TSTAMP
1. In reality, all leading zeros should be considered padding, but the address field can be a maximum of 32-bits.
The following table shows the meaning of each of the fields in the trace messages.
Table 6. NXMC message explanation
Message Number
A (memory
locations 1-4)
Message field
Value
Description
TCODE
58 (0x3A)
TCODE 58 (0x3A) is a Data Trace Write message.
SRC
0b110 (0xC)
The source is the the Nexus Crossbar Multi-Master Trace
Client (NXMC)
MSTR
0b011(0x3)
The master bus client is the eDMA
DSZ
0b1
Data size is 8-bit
U-ADDR
0b010_0000_0000 The unique (difference) in the address from the previous
_0000_0010_0011 message.
_1111_0000_0100
(0x3F04)
DATA
0b0000_1110 (0xE) Data value written is 0xE.
TSTAMP
0b00_1100_1010_ Message Timestamp = 0xCA_FAC5
1111_1010_1100_
0101 (0xCA_FAC5)
Table continues on the next page...
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
8
Freescale Semiconductor, Inc.
Example NXMC Data Trace (with timestamps)
Table 6. NXMC message explanation (continued)
Message Number
B (memory
locations 5-6)
C (memory
locations 7-10)
Message field
Value
Description
TCODE
0b00_1000 (0x8)
TCODE 0x8 is an Error message.
SRC
0b1100
The source is the the NXMC
ETYPE
0b0000
The Error Type is a Queue overrun
ECODE
0b00_0000_0000_ The Error Code is 0x2, a Data Trace message was lost).
0010 (0x2)
TSTAMP
0b00_1100_1010_ Message Timestamp is 0xCA_FBA2
1111_1011_1010_
0010 (0xCA_FBA2)
TCODE
0b11_1100
TCODE 60 (0x3C) is a Data Trace Write with Synchronization
message.
SRC
0b1100
The source is the the NXMC
MSTR
0b0011
The master bus client is the eDMA
DSZ
0b001
Data size is 8-bit
F-ADDR
0b0100_0000_000 Full address of the DMA transfer (write to SRAM)
0_0000_1010_000
1_1011_1000
(0x4000_A1B8)
DATA
0b0100_0000
TSTAMP
0b00_1100_1010_ Message Timestamp is 0x0CA_FBA6
1111_1011_1010_
0110
(0x0CA_FBA6)
Data written is 0x40.
The following table extracts the timestamp from the a larger trace of a DMA data trace session. The messages above are
included in the middle of this listing. This DMA actions are simply reading a table of data in SRAM and writing it to another
area of SRAM to simulate a transfer from a peripheral.
Full address2
DATA
Difference
Table 7. Nexus Multi-Master Crossbar Trace Message Decoding
0x01 0x4000_9E94
0x4000_9E94
0x00
0x00CA_FA7E
8
0x03
0x01
0x3F0C
0x4000_A198
0x00
0x00CA_FA86
1
0x03
0x01
0x3F0D
0x4000_9E95
0x02
0x00CA_FA87
8
NXMC_0
0x03
0x01
0x3F0C
0x4000_A199
0x02
0x00CA_FA8F
1
0b1100
NXMC_0
0x03
0x01
0x3F0F
0x4000_9E96
0x04
0x00CA_FA90
8
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F0C
0x4000_A19A
0x04
0x00CA_FA98
1
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F0D
0x4000_9E97
0x06
0x00CA_FA99
8
0b111010
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F0C
0x4000_A19B
0x06
0x00CA_FAA1
1
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F03
0x4000_9E98
0x08
0x00CA_FAA2
8
0b111010
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F04
0x4000_A19C
0x08
0x00CA_FAAA
1
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F05
0x4000_9E99
0x0A
0x00CA_FAAB
8
TCODE
Type
SRC
Source
Name
0b111101
DRSM-F
0b1100
NXMC_0
0x03
0b111010
DWM-F
0b1100
NXMC_0
0b111011
DRM-F
0b1100
NXMC_0
0b111010
DWM-F
0b1100
0b111011
DRM-F
0b111010
MSTR DSZ
ADDR1
Timestamp
Table continues on the next page...
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
Freescale Semiconductor, Inc.
9
Example NXMC Data Trace (with timestamps)
MSTR DSZ
ADDR1
Full address2
DATA
Difference
Table 7. Nexus Multi-Master Crossbar Trace Message Decoding (continued)
NXMC_0
0x03
0x01
0x3F04
0x4000_A19D
0x0A
0x00CA_FAB3
1
0b1100
NXMC_0
0x03
0x01
0x3F07
0x4000_9E9A
0x0C
0x00CA_FAB4
8
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F04
0x4000_A19E
0x0C 0x00CA_FABC
1
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F05
0x4000_9E9B
0x0E
0x00CA_FABD
8
0b111010
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F04
0x4000_A19F
0x0E
0x00CA_FAC5
1
0b001000
ERRM
0b1100
NXMC_0
0x00CA_FBA2
221
0b111100 DWSM-SF
0b1100
NXMC_0
0x03
0x01 0x4000_A1B8
0x4000_A1B8
0x40
0x00CA_FBA6
4
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F0D
0x4000_9EB5
0x42
0x00CA_FBA7
1
0b111010
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F0C
0x4000_A1B9
0x42
0x00CA_FBAF
8
0b111011
DRM-F
0b1100
NXMC_0
0x03
0x01
0x3F0F
0x4000_9EB6
0x44
0x00CA_FBB0
1
0b111010
DWM-F
0b1100
NXMC_0
0x03
0x01
0x3F0C
0x4000_A1BA
0x44
0x00CA_FBB8
8
TCODE
Type
SRC
Source
Name
0b111010
DWM-F
0b1100
0b111011
DRM-F
0b111010
ETYPE =
0x00
ECODE = 0x0002
Timestamp
1. Nexus trace with sync messages include the full address, however, non-sync messages include only a unique (delta)
address from the previous message.
2. Includes the calculated address based the previous sync and non-sync messages
As a short reference, the types of Nexus messages that the NXMC can generate are shown in the following table. The data
trace messages are implemented as vendor-defined TCODEs since they use a fixed Data field size (based on the data Size
field (DSZ), instead of a variable length field as defined in the IEEE-ISTO 5001-2003 and 5001-2011 Nexus standards.
Table 8. NXMC Nexus trace message types
TCODE
Message type
Message description
8 (0x8)
ERRM
Error Message
15 (0xF)
WPIT
Watchpoint Message
34 (0x22)
ICTM
In-circuit Trace Message
58 (0x3A)
DWM-F
Data Trace Write Message
59 (0x3B)
DRM-F
Data Trace Read Message
60 (0x3C)
DWSM-F
Data Trace Write with Synchronization Message
61 (0x3D)
DRSM-F
Data Trace Read with Synchronization Message
Most commercially available debug tools support Nexus message decoding to ease customer use. For example, the
Lauterbach T32 Nexus Aurora Trace tool and associated Software GUI decodes and displays Nexus SPT-DMA trace
messages as shown below. The first messages is a Nexus Data Write with Synchronization, followed by 9 Nexus Data Write
messages. This is a practical example where a user desires trace information for the SPT PDMA of FFT results to System
RAM starting at address 0x40040000.
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
10
Freescale Semiconductor, Inc.
Example NXMC Data Trace (with timestamps)
Figure 2. Nexus message decode example from Lauterbach T32
MPC5775K Nexus Aurora SPT Trace for ADAS Applications, Rev 1, 02/2015
Freescale Semiconductor, Inc.
11
How to Reach Us:
Home Page:
freescale.com
Web Support:
freescale.com/support
Information in this document is provided solely to enable system and
software implementers to use Freescale products. There are no express
or implied copyright licenses granted hereunder to design or fabricate
any integrated circuits based on the information in this document.
Freescale reserves the right to make changes without further notice to
any products herein.
Freescale makes no warranty, representation, or guarantee regarding
the suitability of its products for any particular purpose, nor does
Freescale assume any liability arising out of the application or use of
any product or circuit, and specifically disclaims any and all liability,
including without limitation consequential or incidental damages.
“Typical” parameters that may be provided in Freescale data sheets
and/or specifications can and do vary in different applications, and
actual performance may vary over time. All operating parameters,
including “typicals,” must be validated for each customer application by
customer's technical experts. Freescale does not convey any license
under its patent rights nor the rights of others. Freescale sells products
pursuant to standard terms and conditions of sale, which can be found
at the following address: freescale.com/SalesTermsandConditions.
Freescale and the Freescale logo are trademarks of Freescale
Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. The Power Architecture
and Power.org word marks and the Power and Power.org logos and
related marks are trademarks and service marks licensed by Power.org.
All other product or service names are the property of their respective
owners.
© 2015 Freescale Semiconductor, Inc.
Document Number AN5005
Revision 1, 02/2015