本书系统而全面地介绍了Windows CE.Net的基础理论和特点,以及相关的程序设计方法。本书给出了一定数量的程序源代码及代码讲解,力求在讲授基础理论的同时,最大限度地提高读者的实际动手能力。本书主要分为三个部分。第一部分主要介绍Windows CE.Net程序设计的基础知识,包括Windows CE.Net的启动、开发工具、内存管理、文件管理、系统输入等。第二部分主要介绍高级Windows CE.Net程序设计,包括中断处理、驱动程序模型、流驱动程序开发等。第三部分为开放实例。\r\n 本书语言通俗易懂,叙述讲解由浅入深,即可作为Windows CE.Net程序设计的参考用书,也可作为各高校及培训机构的授课用书。
专家指导委员会\r\n前言\r\n第一部分 初级Windows CE.Net程序设计\r\n 第1章 嵌入式系统简介\r\n 1.1 什么是嵌入式系统\r\n 1.2 嵌入式系统的组成\r\n 1.3 嵌入式系统的应用领域\r\n 1.4 几种常见的嵌入式操作系统\r\n 第2章 Windows CE.Net简介\r\n 2.1 Windows CE的功能历史\r\n 2.2 Windows CE的功能简介\r\n 2.3 Windows CE.Net的体系结构\r\n 2.4 Windows CE的应用领域\r\n 第3章 Windows CE.Net开发基础\r\n 3.1 Windows CE.Net的启动过程\r\n 3.2 Windows CE设备的电源特性\r\n 3.3 Windows CE.Net程序开发环境\r\n 3.4 Windows CE.Net目录解析\r\n 第4章 Windows CE.Net开发工具简介\r\n 4.1 Platform Builder\r\n 4.2 Embedded Visual C++\r\n 4.3 Visual Studio.Net\r\n 第5章 Windows CE.Net中的内存管理\r\n 5.1 RAM和ROM\r\n 5.2 虚存\r\n 5.3 堆\r\n 5.4 栈\r\n 5.5 静态数据块\r\n 5.6 Windows CE下的Bootloader\r\n 第6章 Windows CE.Net中的进程和线程\r\n 第7章 Windows CE.Net中的文件系统和注册表管理\r\n 第8章 Windows CE.Net中的屏幕绘制函数\r\n 第9章 Windows CE.Net系统中的输入\r\n第二部分 高级Windows CE.Net程序设计\r\n 第10章 Windows CE.Net中的中断处理\r\n 第11章 Windows CE.Net中的驱动程序\r\n 第12章 Windows CE.Net中的流驱动开发和相关注册表项\r\n 第13章 Windows CE.Net中的总线\r\n 第14章 Windows CE.Net下的PS/2键盘驱动程序设计\r\n 第15章 Windows CE.Net下的触摸屏\r\n第三部分 开发实例\r\n 第16章 用Platform Buildr进行内核定制\r\n 第17章 用Embedded Visual C++进行Windows CE程序设计\r\n 第18章 用Visual Studio进行Pocket PC程序设计
二十世纪,以PC机为代表的信息技术的迅速发展,对世界的政治、经济、军事和科教等方面都产生了深刻的影响。由此而产生的信息产业已经成为世界经济发展的支柱之一。如果说二十世纪被称之为“PC时代”的话,那么二十一世纪则被称之为“后PC时代”。而嵌入式技术无疑是这个时代最具代表性的技术之一。
众多周知,在信息技术领域,我们和西方发达国家相比还存在一定的差距。而紧随而至的嵌入式技术和产品的大规模应用,则为我们提供了一个缩小差距的机会。在这个以嵌入式技术为代表性技术之一的“后PC时代”,培养出具备专业技能,同时可以适应国际竞争需要的嵌入式专业人才就显得尤为重要。在这种理念的指引下,中国电子学会及中国电子学会嵌入式专家委员会,在吸收国内外先进教学经验的基础上,结合我国实际情况,推出了此套嵌入式认证考试系列教材。其宗旨就是普及嵌入式技术的基础知识,提高从业人员的实际动手能力。为嵌入式技术的发展和普及,为提高我国嵌入式技术的水平,进行有益的探索和尝试。
实际上,从消费类电子产品,到航空航天,汽车电子,再到我们日常使用的网络通讯、数据传输等领域,都有着嵌入式产品的身影。随着技术的不断发展,以及其应用领域的日益广泛,嵌入式产品也在不断的改变着我们的生活方式。
首先从体系结构上看,嵌入式产品一般都是由硬件和软件所组成。比如我们使用的手机、听的MP3等产品。而从开发角度上看,嵌入式产品的设计往往需要专用的开发工具。比如在本书所涉及到的Windows CE.Net程序设计中,我们就用到了Embedded Visual C++和Platform Builder等开发工具。再从应用领域上看,那些使用PC机的地方几乎都可以用相应的嵌入式产品所替代。同时,嵌入式产品的广泛运用还极大的提高了整个系统的实时性。我们可以在不同的位置上放置大量的小型嵌入式产品,来实时的获取周围环境的参数,取代了过去那种分散数据采集,再由中央计算机集中处理的方式。最后从用户体验上看,嵌入式产品性能的日益提高,在给我们的工作、生活带来便利的同时,也悄悄地改变了我们的生活方式,提高了产品的使用感受。以目前日益流行的智能手机为例,其CPU的频率早已经达到了400MHz,最先进的产品已经达到了600多MHz。同时还出现了运行在手机上的移动显卡……,这些都使得我们的手机在具备传统语音通话功能的同时,具备了强大的多媒体播放功能、丰富的游戏功能、实时的网络浏览功能……。或许有一天,我们出差在外的时候,随身只要挟带一部移动电话,就可以实现文字办公、网络浏览、邮件发送、视频播放等诸多功能。
在嵌入式产品中,广泛应用的嵌入式操作系统主要有嵌入式Linux、Windows CE、VxWorks、Symbian等。而本书介绍的Windows CE则在高端智能手机领域占据了极其重要的市场地位及市场份额,Windows CE.Net则是其应用最为广泛的版本之一。Windows CE.Net是一个具有抢先式多任务功能,并具有强大通信能力的嵌入式操作系统。也是微软公司专门为移动设备和消费类电子产品、嵌入式应用等非PC领域而全新设计的操作系统产品。因此根据其应用环境的特点,Windows CE.Net被设计成具有高度模块化、良好实时性、强大通信能力、支持多种CPU的嵌入式操作系统。它主要具有以下一些特点:
1. 良好的电源管理功能:由于很多嵌入式产品都是依靠电池来供电的,因此作为一款嵌入式操作系统,Windows CE.Net具备了灵活的电源管理功能,包括睡眠/唤醒模式等。
2. 良好的多任务管理功能:通桌面Windows类似,Windows CE.Net同样具备良好的多任务管理功能。我们可以同时运行多个程序,并在这些程序之间自由的切换。
3. 人性化的图形用户界面:Windows获得成功的原因之一就在于其使用了友好的图形用户界面。Windows CE.Net同样具备了类似的功能,当我们启动它的时候,不但会看到我们熟悉的操作系统界面,使用方式和文件命名方式同桌面Windows也是完全一样的。
4. 多样的通讯功能:Windows CE.Net的通讯模块主要支持串行端口通信、红外通信和网络通信。我们可以利用这些功能灵活的设计出符合实际需要的产品来。
5. 优秀的多媒体扩展性:可以通过内置的MediaPlayer播放器播放音频和视频文件,同时还加入了对SD卡、CF卡等移动存储设备的支持。
6. 强大的实时功能:由于Windows CE.Net是一款实时性操作系统,因此可以被应用在很多对实时性要求较高的领域。
那么如何设计Windows CE下的应用程序,Windows CE具有哪些特点,它和传统的桌面Windows相比又有什么样的不同呢?这就是我们在本书中要解决的问题。
在《Windows CE.Net程序设计》一书中,作者全面而系统的介绍了Windows CE程序设计的基本知识及程序设计方法。不仅在理论上详细的介绍了Windows CE的特点,还通过多个程序实例的构建和代码的讲解,向读者介绍了使用Embedded Visual C++和Visual Studio.Net2003进行Windows CE程序设计的基本步骤和方法。使读者在了在基础理论的同时,进一步提高了自己的实际动手能力。同时,本书一改技术类书籍语言晦涩难懂的现状,做到了叙述语言的通俗易懂。
《Windows CE.Net程序设计》一书共分为三个部分18章,具体的内容安排如下:
第一部分介绍Windows CE.Net程序设计的基础知识,包括第1章到第9章。主要介绍了Windows CE.Net程序设计的基础知识。包括什么是Windows CE.Net,Windows CE.Net的特点和用途是什么,Windows CE.Net的启动过程,Windows CE.Net的开发工具,Windows CE.Net下的内存管理及进程、线程的特点,以及文件系统和注册表管理。同时在这里我们还为读者介绍了如何使用相关的API函数进行Windows CE.Net下屏幕图形的绘制和实现系统的输入。通过这一部分的学习,读者将会对Windows CE.Net有一个感性的认识。
第二部分介绍Windows CE.Net驱动程序设计,包括第10章到第15章。主要介绍了Windows CE.Net中的中断处理,驱动程序模型,流驱动程序开发以及Windows CE.Net下的不同总线的特点。同时在这一部分当中,我们还为读者介绍了Windows CE.Net下PS/2键盘驱动程序设计和触摸屏等相关内容。
第三部分开发实例,包括第16章到第18章。主要介绍了如何使用Platform Builder进行Windows CE.Net的内核定制,Platform Builder有哪些特点,如何使用Embedded Visual C++开发Windows CE.Net程序以及如何使用Visual Studio.Net 2003开发Pocket PC版俄罗斯方块。在这里不但有详细的操作流程,我们还为读者详细的介绍了程序代码。使得读者不但可以按照我们叙述的步骤按部就班的操作下来,还可以对程序代码有非常深刻的认识。
在我进行Windows CE.Net相关软件的开发过程中,深切的体会到,只有不断的实践才会把所学到的知识很好的运用到实际工作中。一些在书本上看似简单的原理,在应用中我们才会体会到其精髓所在。因此在这里建议我们的读者在阅读本书的同时,最好可以按照书中的操作步骤,亲自的把整个程序构建一次;同时还可以尝试修改程序中的某段代码,看看其效果和原来有何不同,或者把自己的想法和疑问发到我们的网站上,和大家进行交流……,我想,这些都会加深读者对Windows CE.Net程序设计的理解,实际的提高大家的动手能力和思考问题的能力。
本书在撰写的过程中,得到了众多良师益友的大力支持。我的硕士研究生导师,北京航空航天大学的魏洪兴教授,不但向我传授嵌入式程序设计的相关知识,还积极的协调各方面的资源,保证了本书的顺利完成;北京博创兴业科技有限公司的相关技术人员也为本书提供了大量的技术支持。
在这里还要特别感谢我的父母,是他们在本书的编写过程中给了我极大的鼓励与支持,感谢他们为我所做的一切。
由于作者水平有限,加之时间仓促,书中难免出现不足之处,请各位读者批评指正。如果有什么疑问,可以访问我的“蒂瓜工作室”,网址为www.deegua.com,或者发送电子邮件deegua@126.com。
姜波
2006年10月于北京
无封面