2013-03-22 63 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