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.

SystemAnalyzerTutorial3 & 4

Other Parts Discussed in Thread: OMAPL138, SYSBIOS

According to the wiki page, "The code for this tutorial ships with the UIA target content package.  Code Composer Studio's New Project Wizard can be used to automatically create a project that includes the tutorial code." Only tutorial 1 & 2 are found in the new project wizard and in the installation folder. Downloaded uia_1_01_01_04.zip just to be sure and it only contains tutorial 1 & 2. 

any idea where to find system analyzer tutorial 3 & 4?

 (cannot install uia_01_02_00_07 because it requires CCSv5.3 which breaks my project -http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/240570/842684.aspx#842684 - uia_01_02_00_07 also contains only tutorial 1 & 2)

  • Kurt,

    I looked around too and am not able to find them either.  I think the wiki page that mentions these is stale/incorrect.  I sent a ping to the experts and hope to get an answer to you soon…

    Scott

  • Hi Kurt,

         The System Analyzer tutorial wiki pages are available at http://processors.wiki.ti.com/index.php/System_Analyzer_Tutorials .   

    From your previous posts, it looks like you are using a C6748 - is this in an OMAPL138 device?

    Regards,

      Brian

  • Hi Kurt,

        I've updated the top-level page for Tutorial3 to clarify where the example project code is located.  It now states:

    System Analyzer Tutorial 3 demonstrates the steps needed to capture and graph real-time performance information from a target application that uses SYS/BIOS

    The tutorial is based on a "stairstep" example that runs continuously and periodically generates log events. Different threads (Hwi, Swi, Task) run to present a CPU load to the system.
    The code for this example project ships with the UIA target content package (in the packages\ti\uia\examples\single folder). Code Composer Studio's New Project Wizard can be used to automatically create a project that includes the example project code. Details on how to build and configure the example project are provided in Tutorial 3A and 3B.

    Hopefully this will help to clear up any misunderstandings about which code the tutorial is based on...

    Thanks,

      Brian

  • Hello, 

    I'am using the TMDSEVM6678LXE board, and I'am trynig now to explore Non-JTAg transport(Ethernet), so I was following all steps described in Tutorial 3B, now when I load the program in the Core 0, the System analyzer still disabled and I can't connect to the target with the configuration static IP (TCP/IP and UDP protocols).

    when I run the program, I have the following:

    System Analyzer Tutorial 4C

    QMSS successfully initialized 

    CPPI successfully initialized 

    PA successfully initialized 

    EVM in StaticIP mode at 192.168.2.100

    Set IP address of PC to 192.168.2.101

    PASS successfully initialized 

    Ethernet subsystem successfully initialized 

    Ethernet eventId : 48 and vectId (Interrupt) : 7 

    Timeout waiting for reply from PA to Pa_addMac command

    ti.sysbios.heaps.HeapMem: line 367: assertion failure: A_invalidFree: Invalid free

    xdc.runtime.Error.raise: terminating execution

     

    regards, Ilyass

  • Hi Ilyass,

       What versions of the following are you using?

    • CCS (please include build number - it's displayed on the "Help / About Code Composer Studio" dialog
    • MCSDK
    • uia
    • ndk
    • xdc
    • pdk
    • bios

    Also, could you please post your .cfg file?

    Regards,

      Brian

  • Hi Brian,

    I'm using the following versions:

    • CCS:         Version 5.3.0.00090 
    • MCSDK:   Version 2.1.2.6
    • UIA:           Version 1.1.1.14
    • NDK:         Version 2.22.0.06
    • xdc:           Version 3.24.5.48
    • pdk:           Version 1.1.2.6
    • BIOS:        Version 6.34.2.18

    and the .cfg file is in this link:

    8267.stairstep_Ethernet.cfg

    Thanx for your replay.

    Regards,

      Ilyass

  • Hi Ilyass,

       I went through the build instructions as described on http://processors.wiki.ti.com/index.php/TMS320C6678L_Build_Configuration and was able to get things working properly.  I unzipped the  http://processors.wiki.ti.com/images/a/a0/StairstepEthernet_6678.zip file, imported into CCSv5.3, updated the build variables to point to the correct packages, rebuilt and, after launching the C6678 EVM, connecting to CPU 0, doing a target 'system reset', loading the project and running from main, it connected to the network via DHCP ok.  I was then able to start System Analyzer and receive events.

    I compared the .cfg file that you posted to the .cfg file that comes with the zip file and noticed that you made a number of changes (e.g. changing all occurrances of DDR to DDR3) - this makes me think that you were using the standard evm6678 platform file instead of the custom.hpdspua.evmc6678l platform file that ships with the MCSDK.  Could you check this in your project and try changing it if required, as well as use the .cfg file from the zip file?

    Regards,

      Brian

  • Hello Brian,

    Thanx for your Help, NIMU Eth needs a way of resetting the PA, otherwise it can't talk to it on a "warm" restart, so I have just after launching the C6678 EVM, connecting to CPU 0, doing a target 'system reset', loading the project and running from main and it's working, System Analyzer is enabled, I can also ping the IP address of the board from the windows command wich is: 192.168.2.100, but I don't receive events in my host (I can't run the Live session:Log). I was following the steps to create the UIA config file but I still can't receiving events.

    Notice that I used a router to make the connection between the board and the host, because direct connexion is not established.

    This is my UIA config file:

    <?xml version="1.0" encoding="UTF-8"?>
    <java version="1.6.0_13" class="java.beans.XMLDecoder">
    <object class="com.ti.uia.host.core.Session$Config">
    <void property="endpoints">
    <void method="add">
    <object class="com.ti.uia.host.core.Session$Config$Endpoint">
    <void property="clockFreq">
    <long>1000000000</long>
    </void>
    <void property="name">
    <string>C66xx_0</string>
    </void>
    <void property="outFile">
    <string>C:\Documents and Settings\Administrateur\workspace_v5_3\StairstepEthernet_6678\Debug\StairstepEthernet_6678.out</string>
    </void>
    <void property="rtaFile">
    <string>C:/Documents and Settings/Administrateur/workspace_v5_3/StairstepEthernet_6678/Debug/configPkg/package/cfg/stairstep_Ethernet_pe66.rta.xml</string>
    </void>
    <void property="uiaFile">
    <string>C:/Documents and Settings/Administrateur/workspace_v5_3/StairstepEthernet_6678/Debug/configPkg/package/cfg/stairstep_Ethernet_xe66.uia.xml</string>
    </void>
    </object>
    </void>
    </void>
    <void property="eventTransport">
    <object class="com.ti.uia.host.core.Session$Config$Transport">
    <void property="address">
    <string>192.168.2.100</string>
    </void>
    <void property="customProperties">
    <void method="put">
    <string>Address</string>
    <string>192.168.2.100</string>
    </void>
    <void method="put">
    <string>Port</string>
    <int>1235</int>
    </void>
    </void>
    <void property="file">
    <string></string>
    </void>
    <void property="port">
    <int>1235</int>
    </void>
    </object>
    </void>
    <void property="msgTransport">
    <object class="com.ti.uia.host.core.Session$Config$Transport">
    <void property="address">
    <string>192.168.2.100</string>
    </void>
    <void property="port">
    <int>1234</int>
    </void>
    <void property="type">
    <string>TCPIP</string>
    </void>
    </object>
    </void>
    </object>
    </java>

    when I run the program I have the following result:

    [C66xx_0] €

    System Analyzer Tutorial 4C

    QMSS successfully initialized 

    CPPI successfully initialized 

    PA successfully initialized 

    EVM in StaticIP mode at 192.168.2.100

    Set IP address of PC to 192.168.2.101

    PASS successfully initialized 

    Ethernet subsystem successfully initialized 

    Ethernet eventId : 48 and vectId (Interrupt) : 7 

    Registration of the EMAC Successful, waiting for link up ..

    Network Added: If-1:192.168.2.100 

    So can you please clarify if you are using a direct connection with cable RJ45 between the board and PC or you are using a switch or router to establish this connection, and the steps of using the System Analyzer with ethernet to enable live session Logs and receiving events.

    Regards

    Ilyass

  • Hi Ilyass,

       Could you try the following:

    -          Ensure System Analyzer is closed

    -          Do a CPU reset and system reset ( from the CCS menu: Run / Reset / System Reset)

    -          load the project – it should run to main

    -  open the System Analyzer Welcome view (View / Other... / UIA / System Analyzer Welcome), and then close the view.

    • this will enable the System Analyzer Welcome view to open whenever System Analyzer detects that an IP address has been logged to the console.
    • To turn this off later, open the view and check the 'Do not show this again" checkbox

    -          open the UIA Transport Monitor view (View / Other … /UIA / UIA Transport Monitor)

    • Enable error logging:

    -         run the target - it should connect and, when it writes the IP address to the console, the System Analyzer Welcome view should automatically open and display the IP address.  Please let me know if this does or does not occur. 

    -         Start System Analyzer: Tools / System Analyzer / Live - it should auto-detect everything so you should not need to use a manual UIA Config file for this.  Just click Start.

    -         Stop error logging

    • In the folder shown to the right of the Enable Error Logging item before you clicked on it there should be the following files:
      • AutostartLog.txt
      • AutostartViewLog.txt
      • JTAGTransportLog.txt

    Please post these files.

    Thanks

    Regards,

      Brian

  • Hi Brian,

    Well I try all steps described, and I have the following:

    -          Ensure System Analyzer is closed

    -          Do a CPU reset and system reset ( from the CCS menu: Run / Reset / System Reset)

    -          load the project – it should run to main: Here I have this one:

    -  open the System Analyzer Welcome view (View / Other... / UIA / System Analyzer Welcome), and then close the view.

    -          open the UIA Transport Monitor view (View / Other … /UIA / UIA Transport Monitor): I have the following:

    • Enable error logging:

    -         run the target - it should connect and, when it writes the IP address to the console, the System Analyzer Welcome view should automatically open and display the IP address. and it occurs:

    and in the console view, I have:

    and the board still running:

    -         Start System Analyzer: Tools / System Analyzer / Live - it should auto-detect everything so you should not need to use a manual UIA Config file for this.  Just click Start. I have the following:

    when I click Start, the board still runnig  and the Live session:Logs doesn't run:

    -         Stop error logging: Here the location of the log file is not displayed, even after disabling error loggin:

     

    Just to clarify, I use the following configuration for TCP/IP protocol parameters, and I can ping the address board when it's connected to the router:

    Regards,

    Ilyass

  • Hi Illyas,

       Well, at least its clear that System Analyzer is correctly auto-detecting your IP address settings. 

    The instructions for stopping the logging from the UIA Transport Monitor that I gave you previously were for CCSv5.4 (Sorry about that!).  In CCSv5.3, the log files should have been written to your c:/ directory.  Could you see if the following files are in your c:/ folder:

      • AutostartLog.txt
      • AutostartViewLog.txt
      • JTAGTransportLog.txt

    Also, can you post your error log file?   To open the Error Log view:  View / Others... / General / Error Log.

    To export the errors from the error log, click on the Export Log icon in the Error Log View's toolbar:

    Also, could you try clicking on the green triangle  in the Log view  after you have launched System Analyzer? This is the 'start' button for System Analyzer...

    Thanks

     Regards,

      Brian

  • Hi Illyas,

       I just remembered a similar problem from when we were doing the initial development - basically System Analyzer was having trouble accessing the ports and using UDP.  You will probably see some errors in the Error Log that relate to this.

    The way we got around this was by installing Wireshark, which automatically installs WinPCap.  WinPCap provides link layer network access in Windows and was what allowed System Analyzer to access the ports properly. 

    Could you try installing these (free) tools and try starting System Analyzer again?

    Regards,

      Brian

  • Hi Brian,

    Yes I click to the green triangle but SA don't start, well i found the tree files:

    • AutostartLog.txt:

    4062.AutoStartLog.txt

    • AutostartViewLog.txt

    3443.AutoStartViewLog.txt

    • JTAGTransportLog.txt

    and finally here is the Error Log file that i was exporting:

    0878.ErrorLog.log

    Just to verify if the program is running, I add a breakpoint in the line 172 of doload function, and it halt the CPU :

    the SA can't be enabled from the green triangle.

    Regards

    Ilyass

  • Hi Illyas,

    Could you install Wireshark  and WinPCap (these are both free tools).  

    Could you then see if Wireshark detects any packets sent to port 1235 of your host PC from the IP address of your EVM?

    Also, Re: So can you please clarify if you are using a direct connection with cable RJ45 between the board and PC or you are using a switch or router to establish this connection, and the steps of using the System Analyzer with ethernet to enable live session Logs and receiving events.

    I'm using a  D-Link 10/100 Fast Ethernet Switch. 

    If your PC's firewall is enabled, you should either disable it or configure it to allow TCP access over port 1234 and  UDP incoming data over port 1235. 

    Here's how to do this for Windows 7:

    • Open Control Panel / System and Security / Windows Firewall

    •  the left pane, click Advanced settings. If you are prompted for an administrator password or confirmation, type the password or provide confirmation.

    • In the Windows Firewall with Advanced Security dialog box, in the left pane, click Inbound Rules, and then, in the right pane, click New Rule.

    • Create two new inbound rules: 

      • Port / TCP / Specific local ports: 1234 / Allow the connection
      • Port / UDP / Specific local ports: 1235 / Allow the connection
    • Create one new outbound rule:
      • Port / TCP / Specific local ports: 1234 / Allow the connection

    You should also configure the Ethernet driver on your PC for 100 Mbps Full Duplex:

    • Control Panel / Network and Internet / Network Connections
    • Local Area Connection / Properties
    • Click the Configure... button underneath the "Connect Using:" box
    • Click the Advanced tab
    • For my Intel 82578M Gigabit Network adapter, I select "Speed& Duplex" from the "Property" list and set the Value to 100 Mbps Full Duplex.

    I've seen cases where 'autonegotiation' between a Gigabit network adaptor and the 10/100 Mbps switch and the EVM does not work properly, and setting the PC's network adaptor to 100Mbps overcomes this.

    I hope this helps!

    Regards,

      Brian

  • Hi Brian,

    I apologize for the late reply;

    Well I try all this steps, and the Wireshrak don't detects any packets sent to port 1235. 

    When I was Configuring the Stairstep Example Project to use Ethernet Transport on the TMS320C6678L, by following the wiki: http://processors.wiki.ti.com/index.php/TMS320C6678L_Build_Configuration , I can't find the path   "ndk_2_22_00_06\packages\ti\ndk\inc\nimu" for the include options, and without this file the program run correctly without errors. Is that it can be the source of the problem?

    Thanx for your help.

    Regards,

    Ilyass

  • Hi Ilyass,

       I'm actually on vacation right now (I'll be back in the office August 12).  The ndk_2_22_00_06\packages\ti\ndk\inc\nimu path is not needed for the include options (as you've noted, it doesn't point to a real directory).  I'll update the tutorial when I get back.  Having it listed in the include options should not cause any problems, however, so you are likely running into problems with your firewall settings.  Can you ping the board and see the packets returned from the board's IP address in Wireshark?

    Regards,

      Brian

  • Hi Brian,

    Thanx for you replay;

    Well I set the network configuration in my computer to the following: 

    before loading the program on the target, I can ping the traget and I get in wireshark the following frame:

    after loading and running the program in the target:

    and when I ping the board (the program still running) I get:

    So I see that I can't ping the board after loading the program into.

    Regards, 

    Ilyass

  • Hi Ilyass,

      Thanks for posting the wireshark screenshots.  It's odd that the board is returning a ping before the program is loaded - is it possible that there is some other PC or device on the LAN that is using the same IP address?  If you unplug the board's Ethernet cable, does the ping still echo back?

    Regards,

      Brian