我正在为OMAP5432(Cortex A15)编写一个linux驱动程序,它读取每个IRQ的处理器周期计数器值。 计数器初始化如下:
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;
}
分隔线已禁用。 Linux内核为4.0,频率缩放选项被禁用,只有1个CPU正在运行。 我每秒都有一个IRQ,我读了这样的值:
{{1}}
我不明白为什么两个IRQ之间的周期数大约为20M,而处理器应该以2GHz运行。 有人有什么想法吗?
提前谢谢。