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