如何动态加载一个驱动. 我的意思是. 在一个CE系统中. 这个CE内核文件nk.bin中没有包含那个流接口驱动程序usb.dll.
运行CE系统后. 将这个usb.dll copy到CE硬盘上. 用一个什么工具可以将usb.dll安装到内核中. 使之下次启动CE后.
CE中的NK.BIN已经有这个usb.dll文件.
如果一个产品用CE系统. 已经生产并销售出去了. 现在要临时加一个驱动进去. 能否在网上公布一个dll. 让用户自己copy到CE系统并选择安装. 就象windows xp一样安装驱动/应用程序.
那肯定不行啦
不过你可以重新做内核再把驱动加到你的内核中
再把内核给客户
让他替换一下就OK了
我记得我原来用的Motolora E6手机用的是linux系统. 可以动态安装程序. 安装过程和在windows下差不多. 当时就在想安装原理是什么.
编译一个流驱动,生成其DLL文件,将其拷到非易失性存储器里,修改注册表,在流驱动主键下添加这个驱动的加载信息,之后驱动的时候就可以加载了,但是非易失性存储器的驱动一定要在加载流驱动之前加载,否则可能找不到
再就是用DriverActive()(大概是这个函数,具体怎么写忘了),这个函数是动态加载驱动的,还有一个卸载函数,写一个没有界面的小程序,像转屏之类的,然后开机执行驱动加载
以上针对流驱动,不包含本机驱动,且没有经过本人实验,楼主可以参考一下,可不可以都要说一下哟,祝好运,呵呵
先动态写注册表,然后ActivateDevice 可以使driver生效,但是没有办法集成到nk.bin中的,在windows mobile中有专门更新system package的分区,通过安装新的pkg文件,可以替换原系统的文件,但是CE5是没有的,CE6不知道。