日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

利用EVC快速开发WINCE5.0的流驱动(转载)

發(fā)布時(shí)間:2023/12/18 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用EVC快速开发WINCE5.0的流驱动(转载) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

WinCE5.0提供了一個(gè)標(biāo)準(zhǔn)的流驅(qū)動(dòng)格式,大大方便了設(shè)備驅(qū)動(dòng)程序的開發(fā)工作。但是傳統(tǒng)的開發(fā)方式往往效率很低。方法如下:

1.在Platform Builder下建立一個(gè)流驅(qū)動(dòng)的dll工程。

2.為流驅(qū)動(dòng)增加注冊(cè)表項(xiàng)。如:

[HKEY_LOCAL_MACHINEDriversBuiltinIRControl]

"Prefix"="IRC"

  "Dll"="irc.dll"

??? "Order"=dword:66

"Index"=dword:1 

3.修改platform.bib文件,將流驅(qū)動(dòng)的dll文件打包到NK.bin.

4.MakeImg,生成包含流驅(qū)動(dòng)的NK.BIN.

  整個(gè)過程煩瑣,而且只要稍加修改,就要重先makeImg,大概要浪費(fèi)3-5分鐘.這種開發(fā)效率是很低的.

????? 下面2種介紹在EVC下快速開發(fā)WINCE流驅(qū)動(dòng)的方法,是我自己親身經(jīng)驗(yàn),拿出來與大家分享,也希望和各高手相互學(xué)習(xí)和探討.

WINCE 的驅(qū)動(dòng),不象桌面windows驅(qū)動(dòng)開發(fā)那樣煩瑣,windows驅(qū)動(dòng)開發(fā)分好幾種,如wdm啦,VXD啦,等等,開發(fā)這些驅(qū)動(dòng)需要專門的開發(fā)環(huán)境和工 具,給開發(fā)者帶來比較高的技術(shù)門檻.所幸的是,WinCE的驅(qū)動(dòng)開發(fā),沒有這么多的限制和門檻.而且應(yīng)用程序可以直接和底層硬件打交道的(注:盡管這樣,筆者還是不建議大家直接用應(yīng)用程序訪問底層硬件,這種做法是不安全的),甚至中斷初始化,中斷線程都可以在用戶級(jí)的應(yīng)用程序完成.所以給驅(qū)動(dòng)開發(fā)帶來了不少的便利.

依我自己的經(jīng)驗(yàn)來看,具體有以下2種方法.

  1.利用EVC生成驅(qū)動(dòng)的DLL.

  1).新建一個(gè)evc的dll工程,將流驅(qū)動(dòng)代碼移植到evc代碼中。

????? 2).編寫導(dǎo)出文件*.def,將流驅(qū)動(dòng)的10個(gè)標(biāo)準(zhǔn)函數(shù)導(dǎo)出.并在Project--->Setting--->Link--->Project options里面標(biāo)注,如:/def:"IR.DEF" .(這一步如果不做,生成的驅(qū)動(dòng)將不可用)

   3).編譯代碼,這個(gè)時(shí)候一般會(huì)出現(xiàn)一些錯(cuò)誤,如找不到頭文件或庫(kù)文件等錯(cuò)誤,請(qǐng)?jiān)趙ince的安裝目錄下找到相應(yīng)的頭文件和庫(kù)文件,在 Tools--->options--->Directories中指明頭文件和庫(kù)文件的路徑。在 Project--->Setting--->link中指定相應(yīng)的*.obj文件(具體文件視源代碼調(diào)用了哪些驅(qū)動(dòng)和庫(kù),到wince的目 錄下找到這些obj文件鏈接進(jìn)來即可)

  4).編寫一個(gè)應(yīng)用程序來調(diào)試驅(qū)動(dòng).利用RegisterDevice/DeRegisterDevice動(dòng)態(tài)加載/卸載流驅(qū)動(dòng),模擬WinCE設(shè)備管理程序的功能.

  以上這種方法,完全脫離了Platform Builder的開發(fā)環(huán)境,使驅(qū)動(dòng)的開發(fā)和調(diào)試工作象開發(fā)應(yīng)用程序一樣輕松和快捷.可 以在驅(qū)動(dòng)程序中利用RETAILMSG函數(shù)從UART口輸出調(diào)試信息.

   2.利用EVC將驅(qū)動(dòng)程序?qū)懗蒭xe,直接象調(diào)試應(yīng)用程序一樣調(diào)試驅(qū)動(dòng).

?????? 最后將調(diào)試好的源代碼移植到驅(qū)動(dòng)程序的dll工程中去.具 體方法和第一種方法類似,不同之處在于,前者是新建一個(gè)純DLL工程(帶導(dǎo)出函數(shù)),后者是新建一個(gè)MFC的exe工程而已.編譯的頭文件和庫(kù)文件方法2 者雷同.這種方法的好處是可以直接編譯成evc的debug工程,可以在源代碼中進(jìn)行單步跟蹤調(diào)試和設(shè)置斷點(diǎn),大大的提高了驅(qū)動(dòng)程序的調(diào)試效率.

?

?

http://www.cnblogs.com/projectdevelop/archive/2009/03/31/wincedriverII.html

轉(zhuǎn)載于:https://www.cnblogs.com/maintell/archive/2011/07/25/2116436.html

總結(jié)

以上是生活随笔為你收集整理的利用EVC快速开发WINCE5.0的流驱动(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。