2013-03-22 60 views
3

我想获得ARM Cortex a8协处理器寄存器的物理地址,比如说c9用户使能寄存器(USEREN)。如何获取寄存器的地址:ARM Cortex A8?

我该如何得到它?

谢谢!

+0

我很确定你不能得到协处理器寄存器的地址。您可以使用“MRC”和“MCR”指令访问它们。 – tangrs 2013-03-22 07:28:58

+1

谢谢唐纳斯! 虽然写入特定的寄存器,但它并不真实反映在确切的位置。 说,我正在写一个寄存器,访问它给了我适当的价值。进入其他模块并访问默认值。 任何想法? – San 2013-03-22 08:16:28

+0

在内核模式下执行此操作。 – San 2013-03-22 08:17:30

回答

6

并非所有寄存器都需要存在于存储器地址中。协处理器寄存器就是一个很好的例子。协处理器是独立的执行单元,大部分时间只能通过mcr/mrc等指令访问其寄存器。

+0

谢谢Auselen的详细描述。 您能否澄清一下为什么我无法写入任何cp15寄存器? 写入没有完成,因为从不同的模块获取它们或从同一个模块获取不同的功能会给我默认值而不是修改后的值。 (“MCR p15,0,%0,C9,C14,0 \ n \ t”::“r”(1)); – San 2013-03-22 08:55:47

+1

我会说你可能有其他一些问题。 – auselen 2013-03-22 10:12:30

+0

感谢您的输入。 我会研究它。 – San 2013-03-22 10:38:57