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.

Profile using Simulator/Emulator using CCS V3.3

Other Parts Discussed in Thread: TMS320F28335, CCSTUDIO

Hi,

I am using TMS320F28335 controller, CCS V3.3.81.6 studio. I have to do timing analyzes on both the functions which run in RAM and functions run in FLASH. The CCS i am using is a licensed version.

  • Using eZdsp emulator:

 If i use eZdsp emulator and start profiling through Profile->Tuning->Adive and select "Setup Advice icon" i am getting 'Setup' tab with the message "The target you have selected is not optimal for profiling. Please try one of the Device Cycle Accurate Simulator." Is TMS320F28335 eZdsp do not support profiling. Still if i enable profiling, i am getting warning "Trouble Setting Breakpoint with the Action "Collect Profiling Data" at 0x3381e6: Error 0x00000008/-2046 Error during: Break Point,  Unable to set hardware breakpoint at 0x003381E6. All hardware breakpoints are already in use. Some hardware breakpoints may be used by analysis." in Message tab. After enabling profiling if i see in Range tab of Profile Setup, i am able to see all the functions with proper address/line number range. If i run the code and veiw the profile using Profile Viewer, there is no change. All are reset to zero.

 

My queries are:

  1. Whether profiling is supported by eZdsp emulator on TMS320F28335 controller.
  2. Whether i have to update the drivers.
  • Using Simulator:
  1. As show below setup, i sellected F28335 Device Simulator. But when tyr to load the program, i am getting the error pop-up window saying (Unable to load).
  2. Now i tried with F28xx_Simulator Tutorial. I am getting what exactly it is for (name with Tutorial).  In this case i am not able to see start up code _cint00() function and its not able to go to main() function, while i run the program.

 

                                                       Code snapshot when i loaded the .out using simulator tutorial setup. It will go to main(). 

  1. If i see in http://processors.wiki.ti.com/index.php/List_of_Simulator i am finding the simulator name F283xx CPU Cycle Accurate Simulator. But if i browse i am not finding any information.

Please let me know how to run Profiling on emulator/simulator using CCS V3.3 studio and TMS32F28335 controller. Whether should i upgrade the drivers.

Note: Since i am using licenced version of code composer, suddenly we can move to CCS V4 version. We have to work on CCS V3.3 only.

Please help. Thanks in advance

Vishnu

  • Vishnu,

    Vishnu Beema said:

    My queries are:

    1. Whether profiling is supported by eZdsp emulator on TMS320F28335 controller.
    2. Whether i have to update the drivers.

    Unfortunately you can't use the profiler with hardware targets since it sets a large number of breakpoints to measure performance throughout the code. 

     

    Vishnu Beema said:

     

    1. As show below setup, i sellected F28335 Device Simulator. But when tyr to load the program, i am getting the error pop-up window saying (Unable to load).
    2. Now i tried with F28xx_Simulator Tutorial. I am getting what exactly it is for (name with Tutorial).  In this case i am not able to see start up code _cint00() function and its not able to go to main() function, while i run the program.

    1. Are you able to launch CCS but not load code to the target? If so, the Device simulator tries to mimic all the device details, therefore there may be code allocated in invalid memory regions. If you are not able to launch CCS, then it may be an issue with the Chip Support Package installation - try to reinstall it by going to Update Advisor and then 

    2. I am not familiar with the F28xx_Simulator Tutorial, but it may be a Core simulator that does not simulate peripherals, timers, etc. Therefore, if the code contains an initialization routine that waits for a peripheral to respond it may get "stuck" in its execution. 

    Vishnu Beema said:

     Code snapshot when i loaded the .out using simulator tutorial setup. It will go to main().

    Not exactly sure what you mean here; I thought the code couldn't reach main().

    Also, depending on the code it can specify an entry point different than _c_int00 - which seems to be the case shown in the screen capture you showed. 

    Vishnu Beema said:
                                                

    Note: Since i am using licenced version of code composer, suddenly we can move to CCS V4 version. We have to work on CCS V3.3 only.

    CCSv4 can be used free of charge if using simulators, therefore you can install it and test the profiling functionality. To help get started with it I strongly recommend the Getting Started Guide at: 

    http://processors.wiki.ti.com/index.php/CCSv4_Getting_Started_Guide

    Hope this helps,

    Rafael

  • Hi,

    Thank you for your comments.

    1. Regarding Emulator can i enable profile clock (Profile->Clock->Enable) and view (Profile->Clock->View). Even with emulator (eZdsp), by keeping breakpoints, can i use this method to calculate time take by each function.

    2. Regarding simulator, yes i am not able to launch itself. As you mentioned i will try to update.

    3. I modified the file ccs2000sim.txt (D:\CCStudio_v3.3\drivers\import) and could able to see F283xx Cycle Accurate Simulator in CCStudio setup. Below is the snapshot. Even by using this simulator, i am getting "The target you have selected is not optimal for profiling....". If i enable profing setup (Profile -> setup), i am able to see function ranges correctly. In Profile viewer (Profile->Viewer) i am able to see function access count.

    1.  
      1. Is it correct to use F283xx Cycle Simulator for profiling.
      2. How to reset the access count in profile viewer.
      3. In simulator can i use Profile clock (Clock which is extreme right) for calculating the time take by each function to execute.
      4. In profile viewer, where can i find the time take by each function/loop to execute other than Access count.

     

    Thanks & Regards

    Vishnu