驅動調試助手的下載次數已經過萬,很多網友也提出了一些寶貴建議,非常感謝。這里再做一個更新,V2.9中主要增加了注冊表查找和注冊表項重命名這兩個功能,至此,有關注冊表操作的所有功能基本都已實現了。雖然不能跟Resco Regedit等大牌比,但功能上并不差多少,而且原生態的支持WinCE系統,包括ARMV4、ARMV4I、MIPSII、SH4。
簡單說明一下新增功能的用法,查找的界面如下。
支持查找項名、鍵名和字符串類型的鍵值。默認查找全部注冊表,也可以在RegTree中選擇查找的起始位置。全字匹配的意思是查找項與查找目標完全一致(不區分大小寫),如果沒選擇該復選框則允許查找目標在查找項中部分匹配。
項名的重命名可通過菜單“重命名項”完成,如下圖所示。
也可以再RegTree中左鍵點擊相應的項完成,如下圖所示。
鍵值的重命名與項的重命名一致,不再贅述。
另外,gooogleman在使用驅動調試助手動態加載串口驅動時出現了一些問題。串口驅動在啟動時能正常加載,但通過驅動調試助手卸載后再加載總是失敗。我查了一下,主要原因是系統啟動時通過BusEnum.dll加載驅動與驅動調試助手的加載過程還是有一些區別的。驅動調試助手只是以簡單的流驅動的方式加載,而BusEnum.dll以總線設備的方式加載,并在注冊表中設置了相應的鍵值。串口驅動中在物理地址的內存映射時需要用到相應的鍵值,如果鍵值不存在就會導致內存映射失敗,以致串口驅動加載失敗。兩種方式加載驅動后的注冊表對比如下。
開機啟動時加載成功的Active鍵的截圖。
可以看到,里面設置了InterfaceType、BusName和BusParent等鍵值。其中InterfaceType就是串口驅動動態加載失敗的關鍵。
動態加載串口驅動成功時Active鍵的截圖。
可以看到,這里沒有設置InterfaceType、BusName和BusParent等鍵值。但是串口驅動也加載成功了,并且經驗證可以正常使用串口。這是為什么呢?其實,并沒有修改串口驅動,只是修改了CEDDK.dll中的一個函數HalTranslateBusAddress()。因為這是出錯的根本原因,是這里使用了InterfaceType。我的修改方法是注釋掉SRC\Drivers\Ceddk\Dll\sources中SOURCELIBS變量的第一行“$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\ddk_bus.lib \”,即不使用BSP中的ddk_bus.lib,而使用系統提供的ddk_bus.lib,它里面沒有對InterfaceType做處理,所以加載驅動時就不會出錯了。
以上是解決串口驅動不能動態加載的一種方法,實際上驅動調試助手主要是動態管理流驅動的,可能還有其他一些驅動不能通過它正常加載,這時候,我們就不能再偷懶了,只能乖乖的走老路,多花點時間下載NK了。
- PC官方版
- 安卓官方手機版
- IOS官方手機版