新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > WinCE驅(qū)動(dòng)編寫小結(jié)

WinCE驅(qū)動(dòng)編寫小結(jié)

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

#define IOCTL_INIT_PORTS CTL_CODE(FILE_DEVICE_UNKNOWN,0X801,METHOD_BUFFERED,FILE_ANY_ACCESS)

8)void XXX_PowerDown(DWORD hDeviceContext);

hDeviceContext:XXX_Init的返回值。

負(fù)責(zé)設(shè)備的上電控制。

9)void XXX_PowerUp(DWORD hDeviceContext);

hDeviceContext:XXX_Init的返回值。

負(fù)責(zé)設(shè)備的斷電控制

10) DWORD IOC_Seek(DWORD hOpenContext, long Amount, WORD Type)

hOpenContext:XXX_Open返回值。

Amount:指針的偏移量。

Type:指針的偏移方式。

將設(shè)備的數(shù)據(jù)指針指向特定的位置,應(yīng)用程序通過SetFilePointer函數(shù)間接調(diào)用。不是所有設(shè)備的屬性上都支持這項(xiàng)功能。

5、流接口驅(qū)動(dòng)的加載和注冊(cè)表設(shè)置:

系統(tǒng)啟動(dòng)時(shí)啟動(dòng)設(shè)備管理程序,設(shè)備管理程序讀取HKEY_LOCAL_MACHINEDriversBuiltIn鍵的內(nèi)容并加載已列出的流接口驅(qū)動(dòng)程序。因此注冊(cè)表對(duì)于驅(qū)動(dòng)的加載有著關(guān)鍵作用。下面是一個(gè)例子:

【HKEY_LOCAL_MACHINEDriversBuiltIIOControler】

“Prefix”=”XXX”

“Dll”=”drivername.dll”

其中,“Prefix”=“XXX”中的XXX要和XXX_Init等函數(shù)中的一樣。CreateFile創(chuàng)建的驅(qū)動(dòng)名前綴也必須和它們一致。

6、驅(qū)動(dòng)程序的編寫、編譯及其相關(guān)目錄、配置文件的格式和修改:

1)首先必須在PB相應(yīng)平臺(tái)的的driver目錄下建立要?jiǎng)?chuàng)建的驅(qū)動(dòng)所在的目錄。如在x:Wince420platformsmdk2410drivers目錄下建立一個(gè)IOCtrol目錄。

2)修改Drivers目錄下的dirs文件。

3)創(chuàng)建驅(qū)動(dòng)源文件XXX.c,在該文件中實(shí)現(xiàn)上述流接口函數(shù)。并且加入DLL入口函數(shù):

BOOL DllEntry(HINSTANCE hinstDll, /*@parm Instance pointer. */

DWORD dwReason, /*@parm Reason routine is called. */

LPVOID lpReserved /*@parm system parameter. */

)

4)創(chuàng)建Makefile和Sources和.def文件,控制編譯。

5)使用CEC Editor修改cec文件,編譯添加的新特性。

6)復(fù)制新生成的4個(gè)文件到Release目錄下,修改注冊(cè)表文件platform.reg和platform.bib文件。

7)Make Image。

8)DownLoad Image。


上一頁 1 2 下一頁

關(guān)鍵詞:

評(píng)論


相關(guān)推薦

推薦視頻

更多>>

技術(shù)專區(qū)

關(guān)閉