WinCE 流接口驱动加载流程

    这里只描述一个已经编译好的DLL文件如何被加载到NK中。下面我们假设这个驱动的名字是 myDriver.dll

   

1、  myDriver.dl 拷贝到 工程文件夹下的Release目录下。

2、  修改reg文件。在platform.reg或者project .reg 中添加如下语句

[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/API]

"Index"=dword:1

   "Prefix"="MYD"

   "Dll"="myDriver.Dll"

   "Order"=dword:20

   "Ioctl"=dword:4

   "FriendlyName"="myDriver"

     这里要说明的是Prefix 项是设备前缀名,应用程序通过这个名字来找到对应的驱动程序,

Index项是设备序号,这里index项是1。CreateFile 的第一参数必须是设备前缀名加上设备序号再加上冒号。那么在应用程序中就可以使用"MYD1:"或“MYD2”等类似的名字作为CreateFile的第一参数。这里设备序号可以随便写,应用程序都会成功调用 myDriver.dll中的Open函数。如果有需要可以在myDriver.dll中的Open函数中对不同的设备序号做相应的处理,这个处理方式可参看WinCE串口驱动代码。

例:

通过CreatFile函数调用myDriver.dll的open函数

hCustomAPI=CreateFile (TEXT("MYD1:"), GENERIC_WRITE | GENERIC_READ,

              0, NULL, OPEN_EXISTING, 0, NULL);

3、  修改bib文件。在platform.bib或者project .bib 中添加如下语句

   myDriver.dll       $(_FLATRELEASEDIR)/ myDriver.dll           NK  SH 

系统是根据注册表中的信息找到bib文件的myDriver.dll字段,然后根据$(_FLATRELEASEDIR)/ myDriver.dll这个路径执行myDriver.dll。如果用户不小心将bib文件中的语句写成myDriver.dll       $(_FLATRELEASEDIR)/ OherDriver.dll 那么最终被执行的是OherDriver.dll

 

以上的三个步骤完成后就可以生成NK.Bin了,myDriver.dll会被加载到NK.bin中。

 

关于bib文件和reg文件的说明:

make image阶段 会将各种bib文件合并成一个ce .bib ,这个bib文件描述了将要被链接到操作系统镜像文件中的Windows CE文件,比如上面提到的myDriver.dll

 make image 阶段 各种reg文件会被合并成一个Reginit.ini文件, 这个ini文件提供了操作系统镜像文件的注册表入口点。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值