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.

Benchmarking Code

Other Parts Discussed in Thread: OMAP3530

 

Hi,

I'm currently working with the following HW and SW:

HW - Mistral EVM with OMAP3530

SW - CCS V4.1.2 and DSP bios V5_41_04_18

 

I have DSP code with DSP bios running on the C64x+ core and it's communicating through the mailbox with a test harness running on the CortexA8 core which is not using an RTOS.  The test harness provides input stimulus commands to the waveform running on the DSP which then sends its responses back to the test harness on the ARM.  I'd like to benchmark the DSP code but I want to make the measurement on the ARM side so I can measure the true round trip delay including interrupt and task latencies.  What resources are available on the ARM side that will allow me to make the measurments with as little pain as possible?  Is there any register on the ARM side which provides functionality similar to the C64x+'s TSCL register?  I'm new to the ARM so please provide any information (i.e. notes, code snippets, etc....) you can which will enable me to use the ARM to make an accurate benchmark measurement the simplest way possible.

Thanks,

Len      

  • Hi Len,

    The Cortex-A8 contains 4 internal performance counters built in to the core which can be configured to measure clock cycles.  You can use these for different types of measurements.  You can find an article here from ARM:

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4237.html

    There is some example code on that page.  Also on the ARM page you can check the Cortex-A8 Technical Reference Manual for details on Performance counters.  Also please verify you have the right Manual based on your Cortex-A8 revision.  You can determine that here: http://processors.wiki.ti.com/index.php/How_to_Find_the_Cortex-A8_Revision_of_your_OMAP35x