1
我想讀取usb主機控制器的內存映射寄存器。據我所知,寄存器的內容應該放在內存中,從某個地址開始,可以從控制器的PCI配置寄存器(特別是USBBASE)中檢索。如何訪問內存映射的USB主機控制器寄存器?
我設法得到這個地址,它似乎是有效的。至少它等於我能通過珠穆朗瑪峯得到的一個。問題是任何嘗試使用此地址從內存中讀取數據都會導致「訪問衝突」錯誤。類似memcpy的東西不起作用。也許有人知道如何讀取主機控制器能力寄存器和主控制器操作寄存器? 在此先感謝。 PS。我正在使用Windows 7.
幾乎肯定該內存是受保護的,並且只能從ring 0(「內核模式」)訪問。在Win32下,您只能從已安裝的硬件驅動程序直接訪問這些資源。在Win64下可能更難。無論如何,這將不可能完全使用普通用戶級程序。 – Managu
@Managu:關鍵字*獨家*有。使用現有的驅動程序如'giveio'可能是可能的。但是系統崩潰的可能性很大,因爲現有的Windows驅動程序也將訪問相同的硬件。 –