Measure executing time on ARM Cortex-A8 using hardware counter
I'm using a Exynos 3110 processor (1 GHz Single-core ARM Cortex-A8, e.g. used in the Nexus S) and try to measure execution times of particular functions. I have an Android 4.0.3 running on the Nexus S. I tried the method from [1] How to measure program execution time in ARM Cortex-A8 processor? I loaded the kernel module to allow reading the register values in user mode. I am using the following program to test the counter: static inline unsigned int get_cyclecount (void) { unsigned int value; // Read CCNT Register asm volatile ("MRC p15, 0, %0, c9, c13, 0\t\n": "=r"(value)); return value; }