Windows CE工程实践完全解析

出版时间:2008-10  出版社:中国电力出版社  作者:李大为  页数:399  字数:646000  
Tag标签:无  

前言

2006年的11月份,微软正式发布了Windows CE的6.O版本,全名为Windows EmbeddedCE 6.0。伴随Windows CE 6.0版本的操作系统开发工具一起,微软还公开了它的全部内核态的源代码。对于有志于深入钻研Windows CE操作系统的技术人员来说,这无疑是一个特大的好消息。市面上充斥着大量的解析Linux内核源代码的书籍,却没有一本与之相应的解析Windows CE内核源代码的书,原因是显而易见的,因为这是微软首次向中国内地完全免费地公布Windows CE操作系统的内核源代码。当时我正在微软的一家代理商那里做微软嵌入式Windows产品的技术支持工作,面对着这种有利的形势,当时我就萌生了写一本解析Windows CE内核源代码的书,内容应该包括:Windows CE操作系统的进程(线程)调度机制、内存管理技术、设备驱动程序管理机制等。但是随后结合我所接触的Windows CE的使用者的情况来看,我发现他们中的大多数最需要的不是线程调度、内存管理之类的深入的技术内容,而是实实在在的Windows CE操作系统的底层移植。由于嵌入式硬件的无标准、非规范的特性,嵌入式的操作系统都存在着一个底层移植的问题。厂商所提供的嵌入式操作系统一般都只是与特定嵌入式硬件平台无关的操作系统中间层,使用这些嵌入式操作系统开发具体的电子产品的开发者需要实现底层驱动软件以供操作系统的中间层使用。离开了这些底层的驱动软件,操作系统的中间层就无法操作硬件,于是整个操作系统的启动运行就无从谈起。微软将Windows CE的底层驱动软件使用标准的目录结构进行打包,并且命名为BSP,意思是板级支持包(Board Support Package),这里所谓的“板”就是特定嵌入式硬件的电路设计主板,与之相应的,不同的嵌入式硬件设计就有不同的BSP软件包。由于为嵌入式操作系统开发底层驱动软件同时涉及操作系统的底层接口机制和对特定硬件操作的技术,这对开发者的技术能力提出了更高的要求,事实上对任何一款嵌入式操作系统开发底层驱动软件比开发上层应用软件的难度都要大得多。大的嵌入式电子产品厂商通常以商业运作的手段解决技术所带来的问题。由于国家的法律不能够充分地保护知识产权,企业在技术方面的投资成果很容易随着技术人员的跳槽而被带走,甚至是带到企业的竞争对手那里。而国内的大多数企业管理水平都不够,不能够很有效地应对高科技产品的研发和技术积累的工作。此外,在中国的人才市场上获得合格的技术人才并不是很容易,企业的管理者们在有些情况下不得不迁就技术人才。所有这些都对国内的企业投资技术不利,技术的含量越高,投资的风险也就越大。

内容概要

本书是《Windows CE项目开发实践丛书》之一。    本书讲述了Windows CE操作系统底层驱动软件开发技术。全书共分5篇25章,内容包括开发Windows CE的BootLoader、OAL、显示设备驱动程序、串口驱动程序和PC卡总线接口驱动程序,通过解析和研读微软的DeviceEmulator开发板的BSP的源代码,旨在帮助读者系统、全面、具体地了解Windows Embedded CE的BSP的原理与开发技术,从而达到理解和实践Windows CE嵌入式系统软件开发目的。    本书注重系统性、先进性和实用性,具有特色鲜明、逻辑性强、针对性强的特点。本书适合于从事Windows CE操作系统软件开发的工程技术人员使用,也可作为高等院校自动化、电子、计算机、通信工程等专业师生的科研参考书。

书籍目录

前言绪论第一篇  开发Windows CE的BootLoader 第1章  BootLoader的理论知识介绍    1.1  BootLoader是大多数嵌入式操作系统运行最初的开始    1.2  微软建议Windows CE的BootLoader所应实现的功能    1.3  BootLoader并不是基于Windows CE的嵌入式软件系统的必不可少的组成部分 第2章  Windows CE BootLoader的软件框架和支持库    2.1  以Eboot为实例学习WindOWS CE BootLoader的软件框架    2.2  BLCOMMON支持库    2.3  Eboot支持库    2.4  EthDbg驱动程序 第3章  案例解说开发实现OEM函数    3.1  DeviceEmulator虚拟平台的硬件设计    3.2  开天辟地的Startup函数    3.3  控制流OEM函数    3.4  调试功能OEM函数    3.5  下载功能OEM函数    3.6  以太网收发帧OEM函数    3.7  Flash操作OEM函数    3.8  时钟功能OEM函数    3.9  可选实现的OEM函数    3.10  在BootLoacler和操作系统之间共享信息的数据结构    3.11  保存用户选项配置参数的数据结构 第4章  认识Windows CE操作系统镜像文件的格式第二篇  开发Windows CE的OAL 第5章  Windows CE操作系统的系统启动执行流程    5.1  图览Windows CE的初始化启动流程    5.2  开天辟地的StartUp函数    5.3  KemelStart函数    5.4  ARMlnit函数    5.5  kernel.d11模块的入口点函数NKStartup    5.6  ARMSetup函数    5.7  KemelStart函数 第6章  案例解说WindOWS CE OAL的开发任务汇总    6.1  OAL是什么    6.2  OEMGLOBAL结构体及其全局变量    6.3  OEM地址映射表    6.4  OEMIoControl函数    6.5  OAL的Cache操作OEM函数 第7章  Windows CE操作系统的中断处理机制    7.1  ISR和IST协同处理外设的中断请求    7.2  设置系统中断向量表    7.3  初始化函数OEMInit并启用硬件中断处理机制    7.4  实现OEMInterruptHandler函数供操作系统处理IRQ中断    7.5  实现OEMInterruptHandlerFIQ函数处理FIQ中断    7.6  案例解说中断处理的另一组成部分IST    7.7  为IST做哪些事情 第8章  系统时钟管理    8.1  初始化函数OEMInit并启用系统时钟    8.2  ISR必须处理系统时钟的定时中断请求 第9章  TOC的秘密    9.1  初识pTOC指针    9.2  解析实例以加深认识TOC数据    9.3  TOC的条目    9.4  TOC数据的实质 第10章  KITL调试技术    10.1  什么是KITL    10.2  图览KITL的初始化流程    10.3  初始化KITL库    10.4  初始化Windows CETL连接    10.5  0AL KITL ARGS结构体    10.6  0AL KITL DEVICE结构体    10.7  主动的KITL模式与被动的KITL模式    10.8  KITLTRANSPORT结构体    10.9  汇总OAL的开发者需要为启用KITL功能做哪些事情 第11章  案例解说以太网端口设备EthDbg驱动程序的开发    11.1  CS8900A的硬件原理知识    11.2  读写ReadlPacketPage和WritePacketPage    11.3  硬件初始化函数CS8900AInit    11.4  发送以太网数据帧函数CS8900ASendFrame    11.5  接收以太网数据帧函数CS8900AGetFrame    11.6  启用与禁用CS8900A的中断功能的函数CS8900AEnableInts和CS8900ADisableInts    11.7  CS8900A的配置地址过滤机制的函数CS8900ACurrentPacketFilter和 CS8900AMultleastList第三篇  开发Windows CE的显示设备驱动程序 第12章  从DDI系列函数开始    12.1  DDI函数是什么    12.2  WindLOWS CE的GWES子系统如何获得DDI函数    12.3  DrvGradientFill和DrvAlphaBlend函数    12.4  DrvEnablePDEV和DrvDisablePDEV函数    12.5  DrvEnableSurface和DrvDisableSurfaee函数    12.6  DrvCreateDeviceBitmap和DrvDeleteDeviceBitmap函数    12.7  DrvRealizeBrush函数    12.8  DrvStrokePath函数    12.9  DrvFillPath函数    12.10  DrvPaim函数    12.11  块传输功能函数DrvAnyBlt、DrvBitBlt、DrvCopyBits和DrvTransparentBlt    12.12  DrvSetPalette函数    12.13  DrvSetPointerShape函数    12.14  DrvMovePointer函数    12.15  DrvGetModes函数    12.16  DrvRealizeColor和DrvlJnrealizeColol‘函数    12.17  DrvGetMasks函数    12.18  DrvContrastControl函数    12.19  DrvPowerHandler函数    12.20  DrvEscape函数    12.21  DrvDisableDriver函数 第13章  Windows CE的显示表面及与之相关的数据结构    13.1  显示表面    13.2  调色板、颜色转换对象和颜色转换类    13.3  SLIRFOBJ结构体和TmpGPESmf类    13.4  路径    13.5  剪切板对象CLIPOBJ    13.6  画笔 第14章  GPE类是用户开发WindOWS CE的显示设备驱动程序工作的起点    14.1  从DDI到CPE    14.2  GPE类    14.3  GPE类和块传输操作    14.4  GPE类和画线操作    14.5  DeviceEmulator的显示设备驱动程序实现——S3C2410DISP类 第15章  显示设备及其驱动程序对DirOCtDraw功能的支持    15.1  由导出函数HALInit引出DDHALINFO结构体    15.2  DDHALINFO结构体    15.3  DDCAPS结构体    15.4  DDHAL DDCALLBACKS结构体    15.5  DDHAL_DDSURFACECALLBACKS结构体    15.6  DirectDraw显示表面    15.7  DDGPE类第四篇  开发Windows CE的串口驱动程序 第16章  设备管理器和流式接口设备驱动程序    16.1  串口驱动程序是典型的流式接口设备驱动程序    16.2  设备管理器以总线枚举的方式加载流式接口的设备驱动程序    16.3  总线枚举器加载一个设备驱动程序的具体步骤 第17章  串口设备句柄和串口文件句柄    17.1  从COM—Init导出函数到HW INDEP INFO结构体    17.2  pHWObji成员    17.3  pHWHead成员    17.4  DCB成员    17.5  CommTimeouts成员    17.6  RxBufferInfo和TxBufferInfo成员    17.7  pAccessOwner、0penList、OpenCS和OpenCnt成员    17.8  fEventMask成员    17.9  pDispatchThread、PIiority256、hKillDispatchThread、KillRxThread和 hSerialEvent成员    17.10  hReadEvent和hTransmitEvem成员    17.11  fAbortRead和fAboffTransmit成员    17.12  DroppedBytesMDD、DroppedIBytesPDD、RxBytes、TxBytes、TxBytesPendillg和 TxBytesSent成员    17.13  XFlow、StopXmit、SentXoff、DtrFlow和RtsFlow成员    17.14  ReceiveCritSecl和TransmitCritSecl成员    17.15  dwMddErrors成员 第18章  CSeriaIPDD类是OEM用户开发WindOWS CE串口驱动程序PDD层工作的起点    18.1  CSerialPDD类定义    18.2  CSerialPDD类的初始化部分    18.3  CserialPDD类的串口设备操作部分    18.4  CSerialPDD类的中断接口部分    18.5  CSerialPDD类的数据发送与接收部分    18.6  CSerialPDD类的MODEM功能部分    18.7  CSerialPDD类的线路功能部分    18.8  CSerialPDD类的串口配置部分    18.9  CSerialPDD类的IR特殊处理部分和错误处理部分 第19章  Windows CE操作系统对外设的电源状态管理    19.1  电源管理架构和电源管理器    19.2  设备电源状态和系统电源状态    19.3  电源管理器与设备驱动程序之间的编程接口    19.4  电源管理器与应用程序之间的编程接口    19.5  例说设备驱动程序开发中的电源管理实务 第20章  案例解说串口驱动程序的具体开发    20.1  DeviceEmulator的串口驱动程序PDD层的类定义    20.2  CReg2410uan类    20.3  S3C2410串口驱动程序PDD层的初始化    20.4  CPdd2410Uart类的PostInit成员函数    20.5  串口数据接收中断请求处理函数Recei、veInterruptHandler    20.6  串口MODEM事件中断请求处理函数:ModemInterruptHandler    20.7  串口线路中断请求处理函数LineInterruptHandler    20.8  串口驱动程序PDD层的流控功能函数xmitcomchaT、SetDTlR和SetRTs    20.9  串口数据发送中断请求处理函数XmitInterruptHandler    20.10  串口发送间断信号的功能函数SetBreak    20.11  CancelReceive函数和CantelXlmit函数    20.12  SetOutputMode函数和SetBaudRate函数第五篇  开发Windows CE的PC卡总线接口驱动程序 第21章  PC卡总线桥驱动程序    21.1  PC卡驱动程序的分层结构    21.2  PC卡接口驱动程序实体分离的MDD层和PDD层    21.3  PC卡总线桥驱动程序 第22章  CPCCardBusBridgeBase类是OEM开发者开发PC卡总线桥驱动程序工作的起点    22.1  CPCCardBusBridgeBase类定义    22.2  CPcmciaWindowlnfo类    22.3  CPCCardBusBridgeBase类的数据成员和成员函数 第23章  CPcmciaBusBridge类——DeviceEmulator的PC卡总线桥驱动程序具体实现    23.1  CPcmciaBusBridge类的抽象意义及继承关系    23.2  CPcmciaBusBradge类的数据成员    23.3  CPcmciaBusBridge类的构造函数要负责生成PC卡总线桥驱动程序的IST线程    23.4  CPcmciaBusBridge类的Init成员函数负责初始化PC卡总线桥硬件和向上提交Socket Service 第24章  PC卡的Socket    24.1  Socket Service的内容    24.2  DeviceEmulator的Pc卡Socket的类数据结构及其继承关系    24.3  Socket的属性(信息)和状态    24.4  PC卡Socket在系统中的组织管理    24.5  Socket的句柄    24.6  Socket的电源管理    24.7  PC卡总线桥设备与Pc卡Socket在软件数据结构上的关联 第25章  PCMCIA桥驱动程序的lST线程和ISR    25.1  CPcmciaBusBridge类成员函数Installlsr初始化PCMCIA控制器的卡状态改变中断    25.2  PC卡总线桥驱动程序的IST线程负责处理PC卡插拔和Socket电源状态改变事件参考文献

章节摘录

插图:

编辑推荐

《Windows CE工程实践完全解析》适合于从事Windows CE操作系统软件开发的工程技术人员使用,也可作为高等院校自动化、电子、计算机、通信工程等专业师生的科研参考书。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Windows CE工程实践完全解析 PDF格式下载


用户评论 (总计44条)

 
 

  •   买了没有怎么看。现在不做CE了。
  •   不错的wince底层软件教程,手把手教,我看那么讲驱动的书,这本算是浅显易懂,深入浅出,容易理解,通俗易懂!值得细看。
  •   能感觉出作者的实力,文笔朴实容易理解。尤其是前半部分BSP相关的章节很具有参考价值。
  •   做为基础入门还是不错的,不过因为与作者所从事的工作相关,做为底层开发就讲得不是很多了
  •   以S3C2410为基础详细讲解了wince下的开发流程,很有参考价值,wince的好书本来就不多,这算是入门的一本好书
  •   详细,如想深入wince底层值得一看!入门书籍找几本英文的就ok了
  •   这本书实用性非常好
  •   出略看了一下,感觉语言很通畅,讲解的很具体,但对于初学而言,可能得反复看几遍才能理解。
  •   内容比较深入,适合有基础的阅读查看。
  •   绪论写的非常操蛋,但是内容写的好,是下了功夫的,特别是对应移植的人很有帮助
  •   讲得比较细,比较有特色的好书。
  •   不错 但是看这本书是要有一定的软硬件基础
  •   函数挺全的,适合有点基础的人看
  •   要是比京东再便宜点就更好了
  •   在读,感觉很好,送货太慢了点
  •   写的比较深入,比其他的骗钱书好多了
  •   写的比较好,有参考价值,需要耐心且反复的看
  •   本书内容丰富,对于wicne的bsp开发有帮助
  •   这本书对于初学者有点难度,如果想要从事于驱动开发,感觉这本书是必备之书,因为市面上本来这方面的书就不多。唯一的遗憾就是书面的文字太多,密密麻麻的,感觉是一本纯文字的书,看着很累,尤其是有不懂的地方的时候!
  •   内容还行吧,看了对EBOOT的启动流程将的还可以,如果作者把NBOOT得内容将一下就很好了,可惜他只是把BSP讲了一下,如果把如何构建基于NBOOT的嵌入式设备就更好了。
  •   把WINCE6.0BSP部分讲解的比较详细
  •   偏理论,有点枯燥,开发人员可作参考书
  •   刚收到书,感觉还不错,没有个别人说的旧书的现象。内容还没有仔细研读。
  •   感觉挺有难度的,由于本人是学硬件的,c++这些都不大懂,学这个wince很累,很难理解。刚刚开始看这本书,觉得有些吃力。
  •   不适合初学者,有一定基础的看受益匪浅啊~
  •   比较基础,易懂。例子典型,并且较全面还不错
  •   内容不错,初学者不太合适
  •   书还不错,来不及细看
  •   买回来学习
  •   入门还行
  •   刚收到挺好
  •   总体可以,但购买者最好要有基础
  •   刚买还没怎么细看,但是整体感觉还是不错的
  •   感觉作者写得还是不错的,有很多是个人经验和总结.比市面上很多直接翻译MSDN的好多啦.
  •   我想象中的书。
  •   太不方便了
  •   对于初学者来说,学习本书有点难度;对于具备WinCE经验的人来说,容易引起共鸣。如果有可能出第二版本,应该帮读者更好地建立WinCE组织结构,论述思路更突出,论述内容更具体、详细。
  •   书写的很好,写的很深,值得一看!
  •   对于工程实践有帮助
  •   这是一本对WinCE内核部分源代码分析的很详细的书,我是WinCE的初学者,虽然读起来有难度,但是我会多读几遍。话说,书读百遍其义自现。
  •   这本书非常不适合人看,工程中一点都用不到。搞科研的估计也不看这本书。不推荐购买。买书还是买老外写的,和有点名气的。能被引进的估计差不到哪里,不然早被和谐了。我在亚马逊买了八九本书了,才被允许评一次。一帮坑爹货。
  •   做WINCE开发开发最重要也是让你具有竞争力的部分就是驱动的开发,在本书里系统的讲述了这部分类容。其实,一本书好不好,从出版次数上就可以看到一些。不过,个人建议,看这本书前,最好上网好好了解一下WINCE,再阅读此书。
  •   值得拥有,快看完才评价的.wince资料跟linux比着真是太少了,要是linux不用买书直接上网就可以入门;对应wince来说,这一本还算不错,是真正动过手的人写的书.如果只是拿着这本书看,也许一些部分难以理解,那是正常的,并不代表书写的不好. 阅读更多
  •   Windows CE工程实践完全解析 ,讲解WinCE6.0很好!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7