会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
左手技术 右手写诗
超越自我 珍惜拥有
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
2011年3月23日
驱动程序的电源管理-ing
摘要: 留空待续
阅读全文
posted @ 2011-03-23 15:38 Logen1010
阅读(138)
评论(0)
推荐(0)
流接口设备驱动
摘要: 在WinCE中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。对于这样一类驱动程序,我们只需要按一种特定的规则实现一个动态库,其中实现对所有的硬件功能的调用,再将这个动态库加入系统中,然后设置相关的注册表项,使得在系统启动时设备管理器能识别并且加载这个设备即可。1.流接口设备驱动的架构流接口驱动借助文件系统调用从设备管理器和应用程序接收命令,驱动封装了所有的信息,这些信息对于这些命令转换为被控制的设备适当动作是必要的。所有的流接口驱动,否认它们管理内建设备还是管理可安装设备,或者在引导时被加载
阅读全文
posted @ 2011-03-23 15:24 Logen1010
阅读(536)
评论(0)
推荐(0)
总线驱动
摘要: 总线驱动负责决定加载哪一个驱动,以及以什么顺序加载总线上的设备。总结驱动的例子包括:lPCI总线驱动(PCIBus.dll);lPCCard总线驱动;lIEEE1394总线驱动;lUSB总线驱动。1.BusAgnostic驱动使用BusAgnostic驱动模型的驱动程序可以在不同的总结上执行,典型情况下,比其他类型的驱动能更容易在不同的硬件平台之间移植。2.PCI总线驱动PCI总线是可自配置的,它可以为连接到总线上的PCI设备灵活配置所需要的系统资源,所以PCIBus.dll一般是最后加载的,以便所有固定资源的设备先被加载,然后,PCIBus.dll再为PCI设备从系统剩下的可用资源中分配资源
阅读全文
posted @ 2011-03-23 15:14 Logen1010
阅读(236)
评论(0)
推荐(0)
驱动中注册表的作用
摘要: 注册表主要键的作用[HKEY_LOCAL_MACHINE\Drivers\Active]:所有已经加载的驱动信息都放在该键下;[HKEY_LOCAL_MACHINE\Drivers\Active]:所有要Device.exe加载的驱动都放在该键下面;驱动主要键的作用DLL:指明了该驱动使用的动态库;Prefix:表明驱动的前缀,前缀通常是3个大写的英文字母,通过前缀就知道导出的函数,例如XXX.Init();Index:指定驱动程序的索引。如果为1,那么是CreateFile()函数时第一个参数必须为XXX1;Order:指明驱动程序的加载顺序。值越小加载得越早,这有助于解决驱动程序之间的依赖
阅读全文
posted @ 2011-03-23 15:07 Logen1010
阅读(366)
评论(0)
推荐(0)
驱动程序的加载机制
摘要: 设备驱动程序的加载过程如下图所示:1.当在OAL中的OEMInit运行时,需要启动以太网调试、串口调试等调试服务;2.OAL可能需要配置和列举一个总线,如PCI总线,以便操作一个用于调试的设备;3.OAL负责将这个资源信息放到一个注册表键,并使驱动程序可访问它。然后,Device.exe被加载和启动,它加载资源管理器以从注册表读取一个可用的资源列表。4.Device.exe从[HKEY_LOCAL_MACHINE\Drivers\RootKey]加载注册表枚举器,注册表枚举器开始扫描注册表过程,以获得由RootKey下的子键加载的更多总线和设备。注册表枚举器被用于替代一个ISA总线驱动。所有I
阅读全文
posted @ 2011-03-23 15:06 Logen1010
阅读(281)
评论(0)
推荐(0)
驱动程序的资源
摘要: 驱动程序资源管理是编写设备驱动程序的一个核心,它由以下几部分组成:l资源管理器;l中断处理和IST模型;l设备驱动程序内存管理。1.资源管理器系统的资源(包括IRQ和I/O空间)是由系统表配置和定义的。2.中断处理和IST模型WinCE提供了一个有效的中断处理机制,它把对中断的处理分为两部分:中断服务例程(ISR)和中断服务线程(IST)。ISR通常要求短小精悍,效率要求很严格。它只决定该怎样处理这个中断,一般情况下不应该做太多的工作。大部分工作依靠IST处理,如将数据移到缓存或处理用户某些特殊要求的工作。WinCE中断处理模型如下图所示WinCE支持两种ISR:静态ISR和可安装ISR。静态
阅读全文
posted @ 2011-03-23 14:15 Logen1010
阅读(233)
评论(0)
推荐(0)
设备管理器
摘要: 1.Device.exe简介在WinCE中,系统进程Device.exe负责对几乎所有的外设驱动程序进行管理,它也被称为设备管理器。严格来说,设备管理器不是WinCE操作系统内核的一部分,仅仅是一个用户态下的普通进程,而且没有设备管理器WinCE也一样可以启动、运行。但设备管理器在WinCE中的作用却非常重要。在WinCE系统启动时,设备管理器会随着启动,并且在整个系统运行时都会持续运行。在Common.reg中可以看到device.exe的启动:……[HKEY_LOCAL_MACHINE\init]IFIMGCELOGENABLE;AtmostoneCeLogflushapp(CeLogFl
阅读全文
posted @ 2011-03-23 14:05 Logen1010
阅读(520)
评论(0)
推荐(0)
驱动程序的分类
摘要: 1.内建的驱动程序与可安装的驱动程序按照驱动程序导出的接口不同,驱动程序可以分为本地设备驱动程序和流接口驱动程序。内建驱动程序(Built-inDriver)有时也称为本地驱动程序(NativeDeviceDriver),它们被静态地链接到GWES。可安装的驱动程序(InstallableDriver)也称为流设备驱动程序(StreamsDeviceDriver),它们是由设备管理器(device.exe)动态加载的用户模式的DLL。只有极少数驱动是混合设备驱动(HybridDriver),PCCardSocket是混合设备驱动的一个典型例子。2.分层的驱动程序和不分层的驱动程序WinCE的驱
阅读全文
posted @ 2011-03-23 14:03 Logen1010
阅读(735)
评论(0)
推荐(0)
WinCE的驱动程序
摘要: 操作硬件是驱动开发的首要任务。在WinCE下所有的驱动都以用户态的DLL文件形式存在。WinCE驱动程序用到的方法及工具与编写其他任何一个普通的DLL没有什么区别。与所有Win32DLL一样,WindowsCE驱动程序DLL中的代码要得以运行,必须被一些进程动态加载到地址空间。优点:Ø灵活性,运行时动态加载,这样可以轻松实现外设的即插即用。Ø稳定性,因为放在内核态虽然是程序运行的更快,但在内核态的驱动如果出现崩溃会导致系统崩溃,但处于用户态的驱动程序即使崩溃也不会影响到内核。DLL文件本身是无法运行的,如果要运行DLL中的代码,必须先有一个exe进程,把DLL加载到自己的地
阅读全文
posted @ 2011-03-23 14:00 Logen1010
阅读(266)
评论(0)
推荐(0)
WinCE的OAL-ing
摘要: 留空待完善
阅读全文
posted @ 2011-03-23 13:50 Logen1010
阅读(133)
评论(0)
推荐(0)
下一页