大神們好,悶頭開發了兩周window驅動了。有幾個問題想不通。
1,是不是設備掛在pc上,如果沒有正確驅動的話,在設備管理器能看到該設備有黃色警告圖示的?
是因為外設的配置暫存器嗎?如果外設沒有配置暫存器的話,是不是在設備管理器是不顯示的?
2,如果一個isa設備沒有配置暫存器,但是知道實際物理地址,不知道vendorid和produce id。在使用MmMapIoSpace得到虛擬地址后,并不能成功讀寫isa外設,所以我映射的物理地址是指到了那里呢?
還有,此設備在Linux下的驅動代碼,已經看過,僅是簡單粗暴的映射了物理地址到虛擬地址,直接就使用了,卻是能夠正常。
如下代碼:
request_mem_region(0xd2000, 0x500000, "dual_ports_ram");
g_device_address = ioremap_nocache(0xd2000, 0x500000);
小弟愚笨,看了幾天資料,測驗了幾天驅動,這幾個問題確實想不明白了。
請各位大神們,拜托給我指個方向。這幾天挫敗感有點強,不知道怎么走了
uj5u.com熱心網友回復:

沒人搭理我,自己回答下吧
因為兩塊板子不一樣,一塊板子地址d2000是開放給pci總線的。
另一塊板子的d2000物理地址應該是自己片上外設占用了,所以我測驗是能讀到資料,但是不能和第一塊板子通信。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/42438.html
標籤:驅動開發/核心開發
上一篇:實戰位元幣腳本編程(1)兩段
