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.

CCS/TDA3LA: TDA3 System Trace with XDS560v2 STM

Part Number: TDA3LA

Tool/software: Code Composer Studio

Hi!

I have an application with a TDA3LADBABFRQ1.

I am using Code Composer v7.2.0.00013

The debugger in use is a Spectrum Digital XDS560v2 STM

I'd like to utilize the functionality of the STM to trace various information from the TDA3.

The ultimate goal would be to use the CToolsLib to write different debugging information into the debugger and analyze them on the computer.

But first things first:

My understanding is, that if I select the following menu:

I would get a possibility to set up the system trace connection to the TDA3

I use these settings to get the trace data from the TDA3:

It then tells me, I need a gel script

I found these in the installation folder of code composer:

c:\ti7\ccsv7\ccs_base\emulation\gel\TDA3x\

So I load them into CCS.

It turns out that the script  Enable_ETB_For_STM() does not work. (This by the way also a point of confusion, because the script actually seems to try to activate ETB, even though I want to use STM to trace out the data, and not the ETB as a circular storage)

It throws this error message:

Enable_ETB_For_STM() cannot be evaluated.
invalid page: data
	 at (int *) 0xD4164FB0@data [TDA3xx_stm.gel:64]
	 at Enable_ETB_For_STM()

The @data keyword seems to be the trouble. Nevertheless, I am not even sure if that address would be even correct. If I open that in the memory browser, it tells me there is nothing.

Shouldn't it be rather the address: 0x54164000

As from the datasheet I see:

So my question would be. Am I on the right track to get STM working.

If yes, can TI provide me with the correct set of gel files. I have checked the latest CCS v8.0.0.00016 , but it has basically the same gel files.

What be even more smashing, if someone could verify on their side with a similar setup, if what I am trying to do does work.

I have added the gel files which were in my CCS installation, and the ccxml that I use to init the debugger.

TDA3_config.zip

  • Hi Mate,

    We need to do a bit of digging to find out more details on this as ideally the script should have worked. We will get back to you by Thursday.

    Regards,
    Rishabh
  • Hi Mate,

    Even though you are trying to run pin trace and not ETB trace, the Enable_ETB_For_STM() function is still intentionally called to configure the trace funnel for STM. The Enable_ETB_For_STM() gel function is intended to be run from the DAP.  In your case, I'm guessing the gel files were not loaded on the DAP which is why the 0xD4164000 address didn't work.  To work around this, you can attach ccs_base\emulation\gel\TDA3x\TDA3xx_dap_startup.gel to the dap00 core in your ccxml which will in turn automatically load the Enable_ETB_For_STM() function.

    I have attached a ccxml (rename from .xml->.ccxml) that I tested with based on your original ccxml.  Let me know if you have any further questions.

    tda3x.xml
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Spectrum Digital XDS560V2 STM LAN Emulator_0">
            <instance XML_version="1.2" desc="Spectrum Digital XDS560V2 STM LAN Emulator_0" href="connections/SD560V2LAN_Connection.xml" id="Spectrum Digital XDS560V2 STM LAN Emulator_0" xml="SD560V2LAN_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Spectrum Digital XDS560V2 STM LAN Emulator_0">
                <instance XML_version="1.2" href="drivers/tixds560icepick_d.xml" id="drivers" xml="tixds560icepick_d.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560cs_dap.xml" id="drivers" xml="tixds560cs_dap.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560cortexM.xml" id="drivers" xml="tixds560cortexM.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560cs_child.xml" id="drivers" xml="tixds560cs_child.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560c66xx.xml" id="drivers" xml="tixds560c66xx.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560csstm.xml" id="drivers" xml="tixds560csstm.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560etbcs.xml" id="drivers" xml="tixds560etbcs.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds560arp32.xml" id="drivers" xml="tixds560arp32.xml" xmlpath="drivers"/>
                <property Type="choicelist" Value="1" id="JTAG TCLK Frequency (MHz)"/>
                <property Type="choicelist" Value="0" id="The JTAG nTRST Boot-Mode"/>
                <property Type="choicelist" Value="0" id="The Power-On-Reset Boot-Mode"/>
                <property Type="choicelist" Value="1" id="The Boot-Mode Pin Map"/>
                <property Type="stringfield" Value="10.219.18.188" id="portAddr1"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="TDA3x_0" href="devices/TDA3x.xml" id="TDA3x_0" xml="TDA3x.xml" xmlpath="devices"/>
                    <device HW_revision="SR2.0, SR1.0A, SR1.0" XML_version="1.2" description="TDA3x SoC for ADAS&#10;C66x DSP" id="TDA3x_0" partnum="TDA3x" simulation="no">
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_D Router" id="IcePick_D_0" isa="ICEPICK_D">
                            <subpath id="IPU_1_C1">
                                <router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_2" isa="CS_DAP">
                                    <subpath id="CortexM4_IPU_1_C1">
                                        <cpu HW_revision="1.0" XML_version="1.2" desc="ICECrusherCS_1" description="Cross Triggering" deviceSim="false" id="ICECrusherCS_0" isa="cs_child"/>
                                        <cpu HW_revision="1.0" XML_version="1.2" desc="arm_m_1" description="Cortex_M4 CPU" deviceSim="false" id="Cortex_M4_1" isa="Cortex_M4"/>
                                    </subpath>
                                </router>
                            </subpath>
                            <subpath id="IPU_1_C0">
                                <router HW_revision="1.0" XML_version="1.2" description="CS_DAP Router" id="CS_DAP_1" isa="CS_DAP">
                                    <subpath id="CortexM4_IPU_1_C0">
                                        <cpu HW_revision="1.0" XML_version="1.2" desc="arm_m_0" description="Cortex_M4 CPU" deviceSim="false" id="Cortex_M4_0" isa="Cortex_M4">
                                            <property Type="filepathfield" Value="" id="GEL File"/>
                                        </cpu>
                                    </subpath>
                                </router>
                            </subpath>
                            <subpath id="DSP_2">
                                <cpu HW_revision="1.0" XML_version="1.2" desc="dsp_1" description="C66xx CGEM+FP CPU" deviceSim="false" id="C66xx_DSP2" isa="TMS320C66XX">
                                    <property Type="choicelist" Value="1" id="bypass"/>
                                </cpu>
                            </subpath>
                            <subpath id="DSP_1">
                                <cpu HW_revision="1.0" XML_version="1.2" desc="dsp_0" description="C66xx CGEM+FP CPU" deviceSim="false" id="C66xx_DSP1" isa="TMS320C66XX">
                                    <property Type="filepathfield" Value="" id="GEL File"/>
                                </cpu>
                            </subpath>
                        <subpath id="dap">
                                <router HW_revision="1.0" XML_version="1.2" desc="dap00" description="CS_DAP Router" id="CS_DAP_0" isa="CS_DAP">
                                    <subpath id="EVE_01">
                                        <cpu HW_revision="1.0" XML_version="1.2" desc="eve_0" description="ARP32 CPU" deviceSim="false" id="ARP32_EVE_1" isa="TMS700C40XX">
                                            <property Type="filepathfield" Value="" id="GEL File"/>
                                        </cpu>
                                    </subpath>
                                <property Type="filepathfield" Value="..\..\emulation\gel\TDA3x\TDA3xx_dap_startup.gel" id="GEL File"/>
                                <subpath id="Trace_STM">
                                        <property Type="choicelist" Value="1" id="Custom Configuration"/>
                                    </subpath>
                                </router>
                            </subpath>
                        </router>
                    </device>
                </platform>
            </connection>
        </configuration>
    </configurations>
    

    Thanks,

    Mark

  • Hi Mark,

    Thanks a lot for the right pointer.
    It seems like it is working now.

    I have to experiment with the STM to see what it can actually do.


    Besides, this STM topic was somewhat a void to me.
    I stumbled just by accident into this, even though I tried to find out as many information as possible regarding the TI Ecosystem with the TDA3.
    After doing a lot of investigation it seems that this could be indeed a killer feature to use.

    If you take my advise, do a lot more youtube demos about this feature. Especially about the ETB, which can be used even without having any expensive debugger at all.

    Nevertheless,
    thanks for helping!

    Cheers!
  • Hi again!

    I just played around quickly.

    Actually I started to use the ETB receiver, which works now with STM. (see my previous message)

    But if I set the transport type to 560 V2 Trace option, I get this error message:

    Currently I have the Spectrum Digital XDS560v2 STM Traveler connected.

    I'll dig around on my side for further details later.

    I I have something more in detail, I'll be back.

    Thanks a lot.

  • Hi Mate,

    Sorry for the delay and for the unhelpful error message.  There was actually a fix to provide a more descriptive error message in our latest release.  You can pick this up with Help->Check For Updates and updating TI Emulators to version 7.0.188.0.  This might give us more of an idea of what may be going wrong.  Additionally, if you could provide a trace log, it would be helpful in diagnosing this issue.  

    The steps for capturing a trace log are here (see TI_TRACE_LOGGING environment variable):

    I've tested this locally with the 560v2 LAN probe (I don't have a traveler to test) and was unable to reproduce here.

    Thanks,

    Mark

  • Hi Mate,

    Can you please update on this issue.

    Regards,
    Rishabh
  • Hi Mate,

    I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out)

    Regards,
    Rishabh