前些天把WINCE6.0的開發環境建好了,今天定製了一個系統,練習了一下驅動的編寫和調試。把DLL文件通過VS2005部署到開發板上,用一位大俠寫的DM.EXE工具進行激活,但是發現點擊激活按鈕式無反應,驅動還是停在“停用”狀態,鬱悶了幾個小時。。。
後來在網上發現這個軟件有了新版本V2.9,原來的是V2.5,趕緊下了個。試了一下,還是不能激活,但是驅動列表中顯示了全部驅動,而原來的那個版本在WINCE6.0上只能顯示自己添加的驅動。
我靜下心來想了想,我寫的這個是GPIO驅動,練習用的,而系統本身在開始時已經加載了GPIO的驅動,會不會是衝突了?可是自己已經把函數名字都改了,應該不會啊。於是我又看了一下代碼,果然是衝突了:驅動中需要完成物理地址到虛擬地址的映射,而這個映射顯然不能做兩次。果斷把原來的GPIO驅動卸載,激活新驅動,成功了。。。
也可能我分析的這個原因是不對的,等對WINCE6.0熟悉了再仔細解決這個問題。
下面這個是DM.EXE相關信息的鏈接