如何在ARM Cortex-A8处理器中启用性能计数器?

时间:2013-03-15 11:01:12

标签: c kernel arm inline-assembly cortex-a8

我在用户模式下使用cortex A8并试图读取性能计数器。

根据a8 trm,应该从特权模式启用寄存器。 因此使用kernle模块启用了性能计数器:

/ *启用用户模式访问性能计数器* /

asm(“MCR p15,0,%0,C9,C14,0 \ n \ t”::“r”(1));

/ *禁用计数器溢出中断(以防万一)* /

asm(“MCR p15,0,%0,C9,C14,2 \ n \ t”::“r”(0x8000000f));

现在尝试阅读寄存器:

asm(“MRC p15,0,%0,c9,c14,0 \ t \ n”:“= r”(值));

在用户模式下给我0。 在内核init模块中打印给出1(插入时)。

为什么它不同?

感谢您的建议!!

0 个答案:

没有答案