This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3356: Debug trace with Greenhills Probe V4 available ?

Part Number: AM3356
Other Parts Discussed in Thread: AMIC110

Hi champs!

For an existing project customer wants to go from a simple debug probe (GHS/this probe did not support the recording of the programme flow) to newer probe, that supports program trace.  

Open questions highlighted in yellow below:

As Toolchain we use the Multi IDE from GHS in version v7.1.4 with the Probe V4 (debug probe with capability of program trace) also from GHS.

As RTOS we use GH Integrity 11.4.4.

 

Simple debugging with the probe V4 and the AM3356 works fine.

This shows, that the JTAG pins should be right connected.

 

The probe V4 detect the am3356 with a icepick (version d) as debug port.

Furthermore it detects also the ETM, ETB subsytsem. But it seems that there is no TPIU  subsystem on the chip.

In any case, the probe detects nothing of the sort, nor tpui nor lite tpui.

In the technical refence manual “AM335x and AMIC110 SitaraTm Processors” revision spruh73q there are

some hints to the subject program tracing, but very marginal.

For example in chapter 3.1.4.2.3 ARM Core Supported Features in table 3-3 is notes

-CoreSight ETM The CoreSight ETM is embedded with the ARM core. The 32KB buffer (ETB) exists at the Chip Level (DebugSS)

-Trace support Supported via TPIU

That’s all to this topic.

 

The chapter “27 Debug Subsystem” contains marginal informations about the icepick,

the jtag signals and about the trace pins EMU[4:0], but no information about the debug

subsystems like etm, etb, tpiu and so on.

 

So my first question is whether there is a more detailed description about the debug subsystem.

Does the AM3356BZCZD60 support program trace recording with an external trace sink like probe v4?

 

The probe V4 is connected to the hardware via a standard mictor connector.

 

Signals for JTAG                    pin’s on chip

JTAG_TDO                            A11 (TDO)

JTAG_TCK                            A12 ((TCK)

JTAG_TMS                            C11 (TMS)    

JTAG_nTRST                        B10 (TRStn)

JTAG_TDI                              B11 (TDI)       

 

Signal for tracing (DEBUG)   pin’s on chip

EMU0                                     C14 (EMU0)

EMU1                                     B14 (EMU1)

EMU2                                     A15 (XDMA_EVENT_INTR0)

EMU3                                     D14 (XDMA_EVENT_INTR1)

EMU4                                     A14 (MCASP0_AHCLKX)    

 

I think that the EMU4 signal is supposed to be the trace clock and the signals EMU0 ... EMU3 are the four trace port pins.

Is this right?

 

Probably a suitable initialisation of the pins EMU0 ... EMU4 is necessary,

so that the V4 probe can receive trace data from the ETM subsystem via the TPIU at all.

Have any application notes for this or code examples?

  • Before answering your other questions, I would like to confirm you are properly configuring the respective pin multiplexing for the EMU[4:2] signal functions. The EMU[4:2] signal functions share pins with other signal functions via pin multiplexing logic. Each pin which can be used for these signal functions defaults to MODE7, which selects a GPIO signal function. Therefore, your software must configure the pin multiplexing logic to select the respective EMU[4:2] signal function before attempting to use them for trace. Configuring the pin multiplexing logic for these pins will be done the same way that you configured all other pins in your application. Have you done this?

    Regards,
    Paul

  • Paul, customer seems to be ooo, I will come back with answers next week!

  • Hi Paul,

    it can be assumed that the firmware has not configured the pin multiplex logic accordingly, so that the respective appropriate EMU[4:2] signal function has not been selected to be used as traces pins.

    But what about the question:
    Does the AM3356BZCZD60 support program trace recording with an external trace sink like probe v4?

    Provide the AM3356BZCZD60 the subsystem Trace Port InterfaceUnit (TPIU)? Because this is the prerequisite for the V4 sample to receive trace data generate from the ETM at all.

    I would have liked to have this question clarified before I delve into the pin multiplexing logic and change the pin functions.
    Also, my question about further documentation on this topic has not been answered.

    Is whether there is a more detailed description about the debug subsystems like TPIU and so on which are provided from the AM3356BZCZD60?

    Regards

    Dirk

  • I ask our debug subsystem expert about using program trace on AM335x.

    He said, ETM is used for “program execution” trace because there is no TPIU. Therefore, it will not be possible to use the Probe V4 to capture ETM trace. 

    You can use the on-chip CSETB to capture ETM trace. Trace collection by CSETB is an activity that occurs entirely on-chip and does not require any special pin mux programming to select the EMU signal functions.

    EMU[4:0] is used to support STM Trace. EMU[1:0] is used for STM Trace, debug triggering, and debug bootmodes (i.e. Wait-in-reset). If the EMU signal functions are not selected via pin mux then you will not be able to use STM Trace or Debug Triggering. Debug bootmodes are latched on POR and can be repurposed after.

    He was not sure if GHS ever supported AM335x’s STM Trace—which is deployed for software messaging and not something that would be able to support ETM trace.

    We do not have any other documentation that is available for the AM335x debug subsystem.

    Regards, Paul