Hi,
I am facing an issue to measure the time on DSP for some applications running on OMAP3530 (Mistral EVM). Details follow:
- We use the 64-bit cycle counter (TSCL/TSCH) to do some time measurement on DSP for a portion of the code, basically
get_tsc();
// some code here
get_tsc();
- After looking into the results, we found out that the time measured (delta from the code snippet above) seems less than the real elasped time. That is, (delta) cycles/freq < real elapsed time.
Is it possible that during the execution of the some code in between, the DSP stalls or sleeps and thus the TSC couter does not increase? The code does some exchaning data between DSP and ARM (using MPCS-based shared buffer) - it is likely that the data is not available (so we do TSK_yield). Any comments from TI or other users? The DSP cycle counter runs freely all the time or are there possibilities that it can stop?
Thanks a lot!