新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > WinCE驱动编写小结

WinCE驱动编写小结

作者: 时间:2016-09-12 来源:网络 收藏

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

8)void XXX_PowerDown(DWORD hDeviceContext);

hDeviceContext:XXX_Init的返回值。

负责设备的上电控制。

9)void XXX_PowerUp(DWORD hDeviceContext);

hDeviceContext:XXX_Init的返回值。

负责设备的断电控制

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

hOpenContext:XXX_Open返回值。

Amount:指针的偏移量。

Type:指针的偏移方式。

将设备的数据指针指向特定的位置,应用程序通过SetFilePointer函数间接调用。不是所有设备的属性上都支持这项功能。

5、流接口驱动的加载和注册表设置:

系统启动时启动设备管理程序,设备管理程序读取HKEY_LOCAL_MACHINEDriversBuiltIn键的内容并加载已列出的流接口驱动程序。因此注册表对于驱动的加载有着关键作用。下面是一个例子:

【HKEY_LOCAL_MACHINEDriversBuiltIIOControler】

“Prefix”=”XXX”

“Dll”=”drivername.dll”

其中,“Prefix”=“XXX”中的XXX要和XXX_Init等函数中的一样。CreateFile创建的驱动名前缀也必须和它们一致。

6、驱动程序的编写、编译及其相关目录、配置文件的格式和修改:

1)首先必须在PB相应平台的的driver目录下建立要创建的驱动所在的目录。如在x:Wince420platformsmdk2410drivers目录下建立一个IOCtrol目录。

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

3)创建驱动源文件XXX.c,在该文件中实现上述流接口函数。并且加入DLL入口函数:

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

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

LPVOID lpReserved /*@parm system parameter. */

)

4)创建Makefile和Sources和.def文件,控制编译。

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

6)复制新生成的4个文件到Release目录下,修改注册表文件platform.reg和platform.bib文件。

7)Make Image。

8)DownLoad Image。


上一页 1 2 下一页

关键词:

评论


相关推荐

技术专区

关闭