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/LAUNCHXL-F28379D: Speed difference with RAM or flash execution

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hello all,

i try to debug an apllication and experienced a difference in speed when i load the program to flash or RAM. My process is to set just one breakpoint at the begining of the main model. It gets executed through a software interrupt witha frequency of 10kHz. When i load the programm to flash and step through the programm with F5 (step into) the code needs about 1500 cycles to  execute once. When i load the programm to RAM it and i step through it again with F5 it needs 2500 cycles. Is this possible?

Thanks!

Martin

  • Hi Martin,

    How are you measuring cycles, are you using CPUTimer?

    Regards,
    Nirav
  • Sorry for the late reply. I still learn a lot every day. I just enabled the clock under the Run options in code composer studio and then ran the Programm once in flash and then in RAM. In my mind RAM should be faster but when I stepped through the Programm in debug mode with F5 (step into) the RAM execution took 2500 cycles compared to 1500 in flash.

    I thought it maybe has something to do with memory access but it is just a guess.

    I would like to know the exact execution time of my Programm to see how the fastRTS or CLA affects the speed. My Plan at the moment is to split it up between CLA and CPU but I have some troubles to find out how to do the timing. But this is for another thread. For now I would just like to know how to measure execution time and why the difference in RAM and flash.

    Maybe toggling a GPIO is still the best option? I just read about toggling a Pin or use the the Clock in CCS. Is the CPUTimer method different?

    Thanks

  • Hi Martin,

    Sorry for the delayed response, but if you are still having trouble measuring accurate execution times, you can use CPU Timers. Refer to the example in C2000Ware for more details on configuring the Timer.

    Let me know if you have any questions.

    Regards,
    Nirav
  • Thanks, i will have a look.