会员
众包
新闻
博问
闪存
赞助商
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)
WinCE的Boot Loader
摘要: (一)BootLoader的概念BootLoader是用来管理目标设备启动过程的目标特定的程序,其功能有如下:1.初始化目标设备硬件(建立系统的内存空间映射图,将系统的软硬件带到一个已知的状态);2.允许将WinCE操作系统运行时映像从开发工作站下载到WinCE目标设备的RAM或者再将它写入到Flash;3.跳转到操作系统的起始点去启动操作系统。(二)BootLoader两种不同的操作模式1.启动加载模式属于正常工作模式,BootLoader从存储介质将操作系统加载到RAM中,并从RAM中启动运行操作系统。2.下载模式BootLoader从工作站下载操作系统运行时映像文件到目标设备的RAM,然
阅读全文
posted @ 2011-03-23 13:32 Logen1010
阅读(338)
评论(0)
推荐(0)
WinCE操作系统映像调试-ing
摘要: 留空
阅读全文
posted @ 2011-03-23 13:31 Logen1010
阅读(144)
评论(0)
推荐(0)
映像配置文件-ing
摘要: 1.BIB文件2.REG文件3.DAT文件4.DB文件
阅读全文
posted @ 2011-03-23 13:30 Logen1010
阅读(166)
评论(0)
推荐(0)
命令行工具
摘要: 1.WinCE6.0NK编译选项介绍在WinCE6.0中,在VS2005的"Build"菜单中,有一个“AdvancedBuildCommands”,其中有很多编译选项"Sysgen":相当于执行命令"blddemo-q”,一般第一次编译或者是改变了"Catalog"中的item的时候,就用这个了。"CleanSysgen":相当于执行命令"blddemoclean-q",当修改了%_WINCEROOT%\PUBLIC\CEBASE\OAK\MISC\Cesysgen.bat的时候,或
阅读全文
posted @ 2011-03-23 13:29 Logen1010
阅读(153)
评论(0)
推荐(0)
WinCE自带的远程工具及简介
摘要: 1.viewbinviewbin是微软提供的一个命令行工具,在WinCE6.0中,可以在"\WINCE600\PUBLIC\COMMON\OAK\BIN\I386"找到它。viewbin工具可以用来查看NK.bin文件。它可以从NK.bin中获得这个NKimage的大小,运行的起始地址等。还能查看到里面所包含的模块,应用程序及相关的信息。viewbin的使用格式如下:viewbin[parameter][filename]在VS2005中“”命令列表下,点击“”,就可以直接打开该工具进行使用了。举几个例子吧:1.viewbin-tocnk.binViewBin...nk.b
阅读全文
posted @ 2011-03-23 11:02 Logen1010
阅读(325)
评论(0)
推荐(0)
PB 6.0环境的搭建与使用
摘要: 1.安装程序的准备如下图所示为安装开发环境所需的所有软件:2.安装流程参考向导文档WindowsEmbeddedCE6.0R3InstallGuide.htm,安装顺序如下:StepNameSetupFile[相对安装根目录]Remark1VS2005VS2005TeamSuite_VSS_MSDN_VISIO.iso[\vs\autorun.exe]英文版MSDN帮助文档2VS80SP1VS80sp1-KB926601-X86-ENU.exeVS升级补丁3SP1ForVistaVS80sp1-for-vista-KB932232-X86-ENU.exeWindows7必要4WinCE6.0W
阅读全文
posted @ 2011-03-23 10:48 Logen1010
阅读(550)
评论(0)
推荐(0)
系统调度-ing
摘要: 1.模块2.进程3.线程4.纤程5.同步对象
阅读全文
posted @ 2011-03-23 10:34 Logen1010
阅读(159)
评论(0)
推荐(0)
内存管理-ing
摘要: 1.ROM和RAM2.虚拟内存模型3.虚拟地址映射4.用户地址空间
阅读全文
posted @ 2011-03-23 10:33 Logen1010
阅读(161)
评论(0)
推荐(0)
文件系统
摘要: 文件系统是一个实现了数据的存储、组织、处理和获取等操作的抽象数据类型。一般分为磁盘文件系统,网络文件系统和特定功能的文件系统。磁盘文件系统主要包括FAT(FAT12、FAT16、FAT32),NTFS、HFS、ext2、ext3,现在ext4也出来了。FLASH文件系统是针对FLASH存储器设计的文件系统。随着移动设备的不断普及,和FLASH存储空间的不断增长,FLASH文件系统也流行起来。在嵌入式系统中,绝大多数都使用FLASH文件系统。数据库文件系统是基于数据库的文件系统。与分层结构的管理不同,在数据库文件系统中,文件由描述符来标识,如文件的类型、主题、作者或其他一些元数据。网络文件系统.
阅读全文
posted @ 2011-03-23 10:30 Logen1010
阅读(525)
评论(0)
推荐(0)
WinCE系统架构
摘要: WinCE系统架构图如下所示:嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1.硬件层硬件层是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。2.OEM层OEM层是嵌入式硬件与Window
阅读全文
posted @ 2011-03-23 10:08 Logen1010
阅读(1057)
评论(0)
推荐(0)