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.

Counting cycles with OMAP-L138 experimenter kit

Other Parts Discussed in Thread: OMAP-L138

Hi,

 

I am starting to work with OMAP-L138 experimenter kit.  Specifically, I am evaluating the performance of C674x in terms of number of cycles this DSP needs to execute some algorithms.

With CCSv5.1, I have been able to connect to the target and load and run simple programs.  But I am not managing to evaluate the number of cycles of a run of the code.

I have checked Run --> Clock --> Enable and Run --> Clock --> Show, and also set Run --> Clock --> Setup --> Count: CPU Execute Cycles.

Before running the code, I reset the counter to 0.  What I am getting is a different number of cycles for every run: 1114 cycles for the 1st run,  2140 cycles for the 2nd run, 3166 cycles for the 3rd run, and so on.

Why is that?

On the other hand, if I use the simulator, I get always the same count: 34849 cycles, which is probably correct, taking a look at the generated assembler.

So, I think I am having the correct count with the simulator but not with the emulator.  And with the emulator I have a different count for every run.

 

Does anyone have any ideas about why this is happening?

 

Regards,

  • Miguel,

    When profiling an algorithm on actual hardware, the cycle count can differ from the results measured on the simulator for several reasons.  The biggest culprit is the fact that the simulator treats all memory access as instant, whereas actual memory access typically introduces delays of multiple cycles, especially for external memory.

    That said, the differences you report are unusual.  You should generally obtain consistent results that are higher than the corresponding cycle counts from the simulator.  I recommend posting on the CCS forum to double check that your procedure for using the profiler is correct.