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 V6.1 Profiler behavior

Hello everybody,

I have a query regarding ‘profiling feature of CCS V6.1.

1. I profiled my code using,  'Debugging model' in 'Debug option' to ‘--symdebug:none’

2. I changed the  'Debugging model' in 'Debug option' to ‘--symdebug:skeletal’ and profiled again.

NOTE: ALL OTHER OPTIONS ARE SAME FOR (1) and (2). I have two '.c' files, Application and source. I am changing 'Debug Option' of my source file in (1) and (2). My Application 'Debug Option' is always in '--symdebug:skeletal'.

The number of cycles i got in step (1) is less than half the cycles obtained in step (2).  But if we check the clock cycles using 'Run->Clock' feature in CCS debug perspective, I am getting almost same cycles for (1) and (2).

Which result is correct cycles for my code (1) or (2)? 

Best Regards,

Ajay

  • Which compiler are you using?  What is the version of that compiler?  

    I expect the cycle counts to differ little between those two compiler options.  When you saw this ...

    Ajay KADOLKAR said:
    The number of cycles i got in step (1) is less than half the cycles obtained in step (2).

    How did you measure the cycle count?  

    Thanks and regards,

    -George

  • Thanks George for the reply:

    Please find information below:

    George:

    >> Which compiler are you using?  What is the version of that compiler?

    My compiler version is : TIv7.4.14

    George:

    >> How did you measure the cycle count?

    I used Profile option in Debug perspective of CCS version: 6.1.1.00022 . I selected 'Tools->Profile->Setup Profile Data Collection' and set active 'Profile all Functions for Total Cycles'.

    George:

    >> I expect the cycle counts to differ little between those two compiler options.

    Yes, I also expected the same. It is very strange to get such drastic difference in cycles for the two 'Debug Option' . Now I am not able to judge which is correct cycle count.

    Thanks and regards,

    Ajay

  • I'm not sure what could be the problem.  Here is one guess to consider.

    Could it be due to cache behavior?  Be sure the entire system is in the same state at the start of both runs.  I'm not sure of the best way to do that.  Maybe power cycle between runs.  Or just reset between runs might be enough.

    Thanks and regards,

    -George

  • Ajay KADOLKAR said:
    I used Profile option in Debug perspective of CCS version: 6.1.1.00022 . I selected 'Tools->Profile->Setup Profile Data Collection' and set active 'Profile all Functions for Total Cycles'.

    What target are you using?

  • Hi George,
    Thank you for reply but I couldn't crack it yet. It could be cache behavior. But how to judge?
    Initial State is same. (we checked by, 'Run->Reset->CPU reset' between runs)
    Hi Lee:
    >> What target are you using?
    I am using C6713 target: 'C6713 Device cycle Accurate Simulator, Little Endian'

    Thanks and Regards,
    Ajay
  • Hi George,
    Thank you for reply but I couldn't crack it yet. It could be cache behavior. But how to judge?
    Initial State is same. (we checked by, 'Run->Reset->CPU reset' between runs)

    Thanks and Regards,
    Ajay
  • Ajay KADOLKAR said:
    Hi Lee:
    >> What target are you using?
    I am using C6713 target: 'C6713 Device cycle Accurate Simulator, Little Endian'

    How are you using the C6713 simulator with CCSv6? Simulators are not supported at all in CCSv6.