首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

驅動程式開發 PCI9054 BAR2 位址存取越界問題

     編輯:程式設計綜合問答

在撰寫 PLX 9054 晶片板卡的 WDM 驅動程式時,通常會將 BAR2 空間整體透過 MmMapIoSpace 映射到虛擬位址。若某板卡僅使用 2MB 的 BAR2 空間,卻存取超過 128MB 的位址偏移,就會導致存取越界。

Windriver 驅動程式之所以能正常運作,可能是使用了 9054 的重映射技術,將局部記憶體重新對應到可存取範圍。自行開發的驅動可參考 WinDriver 9.21 以上版本讀寫 Local 記憶體的函式,正確設定映射窗口與偏移範圍,即可避免越界存取。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved