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/TMS320C6657: UIA LoggerRunMode via Ethernet does not work

Part Number: TMS320C6657


Tool/software: Code Composer Studio

Dear TI Support Team,

I am using the latest Processor SDK of C6657 and the CCS v7.0.0 and v6.2.0 as well. The NIMU/EMAC driver has been corrected with a lot of patches to work correctly in UDP and TCP mode as well. Now I am trying to use the UIA LoggerRunMode via Ethernet to get "Execution Graph", but it does not work correctly. It looks like that the CCS System Analyzer has some issues:

  • Rta_Command START_TX will be send only if  the option "Clear logger buffers on target before starting collection" has been disabled. If option is enabled then the START_TX is missing and no events will be send to host PC.
  • If START_TX has been send then the target traces the event messages to the host PC via UDP port 1235, but the CCS does not view any messages. 
  • After pressing the Stop button, then the STOP_TX command will be send to target and the tracing stops.

I have also try with LoggerIdle and with my own transport via Ethernet with TCP based Event connection. The events are transmitted by the target but the CCS does not view any message.

Do you have some ideas was is going wrong. I can provide you with a wireshark record if it is needed.

I am working on Windows 7 64bit Ulimate and I am using my one C6657 based board.

Kind regards

Sven

  • Hi Sven,
    There have been some issues with LoggerRunMode with Ethernet. What version of UIA are you using? Also, could you please attach your .cfg file?
    Best regards,
    Janet
  • Hi Janet,

    thanks for your reply. I am using uia_2_00_06_52. Attached is my "universal" .cfg file. You can see that I have try out different transport variants of UIA. The most stable and useable version is LoggerType_MIN. Currently LoggerIdle and LoggerRunMode does not work as expected.

    Kind regards

    Sven3324.app.cfg

  • Hi Sven,

    LoggerMin is the only logger you have in your .cfg file where the data is uploaded only when the target is halted.  The other logger with this property is LoggerStopMode, which you don't use.  I think LoggerStopMode would also work.


    I'm not sure why JTAGRUNMODE wouldn't be working, unless it can't keep up with the data.  There may also be race conditions when you halt the target in the middle of data being uploaded.  What kind of failures are you seeing?

    There was a problem with the Ethernet upload that many gaps in the records in RTOS Analyzer.  I am attaching a fix for that (LoggerRunMode.xdt), which you can put in <UIA_INSTALL_DIR>/packages/ti/uia/loggers (after backing up the original).  I had to rename it to LoggerRunMode.xdt.txt in order to upload the file.

    1447.LoggerRunMode.xdt.txt

    Best regards,

    Janet

  • Dear Janet,

    your modified file does not help.

    I have the feeling that something around the System Analyzer inside of CCS is broken. All of the tutorials around the System Analyzer in the TI-Wiki, which I have read, are outdated or incomplete. Does anyone use the UIA LoggerRunMode with Ethernet connection in CCS v7.0.0 or v6.2.0 and latest version of UIA running on C66xx?

    For testing it will be very helpfully, if you would provide a test project for C6657 or C6670 with LoggerRunMode and Ethernet connection, or provide me any binary trace file?

    I am also wondering that the CCS does not send the Rta_Command_START_TX if the Clear Loggers option has been enabled.

    Kind regards

    Sven

  • Hi Sven,

    I have run the UIA stairstep example with Ethernet transport on an evm6678 using CCSv6.1, and that worked ok.  I have not tried it with CCSv6.2 or CCSv7.  I can try that out and let you know how it goes.

    The System Analyzer tutorials were written for UIA 1.x, so yes, they are outdated.

    Best regards,

    Janet

  • Dear Janet,

    for testing on my site, would you share your running project, please with *.out, *.rta.xml and *.uia.xml files and a record of your trace <workspace>\dvt\systemAnalyzerData\systemAnalyzerData.bin

    I will try to open the trace file on my CCS v7.0.0 and CCS v6.2.0 installation.

    For your info, the Ethernet based UIA staistep example of C6678 is not part of the UIA 2.00.06.52.

    Thanks and kind regards
    Sven
  • Hi Sven,

    I ran my stairstep Ethernet example on an EVM6678 in CCSv7.0.  I brought up the RTOS Analyzer Execution graph, and it looked ok.  I'm attaching my zipped up files that you requested.

    Best regards,

    Janet

    7534.systemAnalyzerData.bin.txt

  • Well, it looks like my zipped up files did not upload.  I'll try thiss again...

    8611.evm6678.zip.txt

  • Dear Janet,

    thanks for the trace record. It works on my CCS v7 installation. I can see that here are four special SyncPoint messages at the beginning.

    During my own tests I can remember me that I have seen only two SyncPoint messages and the SystemAnalyzer is waiting for additional SyncPoints. May be that is the reason for my issues. I will look deeper in this direction.

    Your evm6678.zip file contains a package, unfortunately a CCS project is missing. How can I generate such CCS project?
    I have take a look in your code and I find out that you are using some older packages, non public available packages or older compiler version:

    * c6x 7.4.17
    * xdctools_3_31_01_33_core
    * pdk_C6678_1_0_0_11
    * bios_6_46_00_23
    * ndk_2_22_02_16
    * uia-j

    Do you have ever tried to compile the Ethernet LoggerRunMode under the latest CCS v7, latest compiler ti-cgt-c6000_8.1.2 and latest processor_sdk_rtos_c667x_3_02_00_05 ?

    Kind regards
    Sven
  • Hi Sven,

    I have just tried unsuccessfully to build the stairstep Ethernet example with the processor_sdk_rtos_c667x_3_02_00_05.   First of all, I changed the setenv.bat in the SDK to set the SDK_INSTALL_PATH and TOOLS_INSTALL_PATH to my non-standard ccs7 install location.  Then I had to edit the pdksetupenv.bat to change 'ccsv6' to 'ccsv7', and also update the tools version.

    I rebuilt the uia_2_00_06_52 to use the more recent ndk (2.25.00.09).  If you don't rebuild uia, you will get undefined symbols when linking for some socket functions.  I'm attaching my updated uia.mak that you can use as an example for changing yours.  To build uia, just run 'gmake -f uia.mak'

    I'm also attaching my CCS7 project which you can look at.  Maybe you'll have better luck figuring out how to get it to build.

    8875.uia.mak.txt

    5861.stairstepEthernet_TMS320C6678_C66XX.zip.txt

    Best regards,

    Janet

  • Dear Janet,

    thanks a lot for your upload. In the meantime I have worked on my issues and finally I have success.

    To get a running UIA tracing via Ethernet on my very complex program, it was needed to modify some of the UIA files, mainly Rta.c and LoggerRunMode.c. It looks so that the original UIA code blocks the sending of UIAPackets if the traffic is too high. Now with my modifications it works also with high frequently LOG messages, e.g. during enabled HWI and SWI logging. 

    To get a working example for C6657 devices a have made a CCS v7 project based on your stairstep example. It includes also all my modified files related to NDK, NIMU and EMAC drivers. The example code runs the stairstep task and also some services for network access, e.g. EchoTcp, EchoUdp, Data, Null, Oob.

    My changes in the UIA code are marked by the define USE_IB_MULKA_CHANGES. It will be nice, if you (TI) will be able to review my changes and if you would take over the changes for the future UIA release.

    I have used the following environment:

    • CCS7.0.0.00042_win32.exe installation incl. C++ compiler ti-cgt-c6000_8.1.2
    • ti-processor-sdk-rtos-c665x-evm-03.01.00.06-Windows-x86-Install.exe
    • using your modified LoggerRunMode.xdt file, see below
    • own board DABRF with C6657, all clocks based on 156.25 MHz, which is different to EVM board
    • Windows 7 Ultimate 64bit, Intel i7 host computer, Gbit Ethernet connection

    I hope that this shared code may be helpful for other users, which want to use Ethernet in their application and to instrument their application, both on C6657 devices.

    Kind regards

    Sven

    4377.test-uia-2017-01-28.zip

    4442.LoggerRunMode.xdt.txt

  • Hi Sven,

    I'm glad you got UIA with Ethernet working on your device!  Thanks for posting your code.  I will file a bug against UIA to review your code changes and integrate the necessary changes into UIA.

    Best regards,

    Janet