利用EVC快速开发WINCE5.0的流驱动(转载)
?
?
WinCE5.0提供了一個標準的流驅動格式,大大方便了設備驅動程序的開發工作。但是傳統的開發方式往往效率很低。方法如下:
1.在Platform Builder下建立一個流驅動的dll工程。
2.為流驅動增加注冊表項。如:
[HKEY_LOCAL_MACHINEDriversBuiltinIRControl]
"Prefix"="IRC"
"Dll"="irc.dll"
??? "Order"=dword:66
"Index"=dword:1
3.修改platform.bib文件,將流驅動的dll文件打包到NK.bin.
4.MakeImg,生成包含流驅動的NK.BIN.
整個過程煩瑣,而且只要稍加修改,就要重先makeImg,大概要浪費3-5分鐘.這種開發效率是很低的.
????? 下面2種介紹在EVC下快速開發WINCE流驅動的方法,是我自己親身經驗,拿出來與大家分享,也希望和各高手相互學習和探討.
WINCE 的驅動,不象桌面windows驅動開發那樣煩瑣,windows驅動開發分好幾種,如wdm啦,VXD啦,等等,開發這些驅動需要專門的開發環境和工 具,給開發者帶來比較高的技術門檻.所幸的是,WinCE的驅動開發,沒有這么多的限制和門檻.而且應用程序可以直接和底層硬件打交道的(注:盡管這樣,筆者還是不建議大家直接用應用程序訪問底層硬件,這種做法是不安全的),甚至中斷初始化,中斷線程都可以在用戶級的應用程序完成.所以給驅動開發帶來了不少的便利.
依我自己的經驗來看,具體有以下2種方法.
1.利用EVC生成驅動的DLL.
1).新建一個evc的dll工程,將流驅動代碼移植到evc代碼中。
????? 2).編寫導出文件*.def,將流驅動的10個標準函數導出.并在Project--->Setting--->Link--->Project options里面標注,如:/def:"IR.DEF" .(這一步如果不做,生成的驅動將不可用)
3).編譯代碼,這個時候一般會出現一些錯誤,如找不到頭文件或庫文件等錯誤,請在wince的安裝目錄下找到相應的頭文件和庫文件,在 Tools--->options--->Directories中指明頭文件和庫文件的路徑。在 Project--->Setting--->link中指定相應的*.obj文件(具體文件視源代碼調用了哪些驅動和庫,到wince的目 錄下找到這些obj文件鏈接進來即可)
4).編寫一個應用程序來調試驅動.利用RegisterDevice/DeRegisterDevice動態加載/卸載流驅動,模擬WinCE設備管理程序的功能.
以上這種方法,完全脫離了Platform Builder的開發環境,使驅動的開發和調試工作象開發應用程序一樣輕松和快捷.可 以在驅動程序中利用RETAILMSG函數從UART口輸出調試信息.
2.利用EVC將驅動程序寫成exe,直接象調試應用程序一樣調試驅動.
?????? 最后將調試好的源代碼移植到驅動程序的dll工程中去.具 體方法和第一種方法類似,不同之處在于,前者是新建一個純DLL工程(帶導出函數),后者是新建一個MFC的exe工程而已.編譯的頭文件和庫文件方法2 者雷同.這種方法的好處是可以直接編譯成evc的debug工程,可以在源代碼中進行單步跟蹤調試和設置斷點,大大的提高了驅動程序的調試效率.
?
?
http://www.cnblogs.com/projectdevelop/archive/2009/03/31/wincedriverII.html
轉載于:https://www.cnblogs.com/maintell/archive/2011/07/25/2116436.html
總結
以上是生活随笔為你收集整理的利用EVC快速开发WINCE5.0的流驱动(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 狗窝里的小日子- 8 ...
- 下一篇: MySQL 的各个json 函数说明