XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。
XP Embedded是一个基于Windows XP Professional版本的组件化操作系统。普通的XP 操作系统是针对个人电脑,而XPe是针对一些特殊的应用场景推出的嵌入式操作系统。比如,电子信息亭、ATM、自动售货机和POS机,以及各种需要定制的工控机。XPe只支持x86架构CPU,与普通XP版本的最大区别是可以定制,针对不同的应用场景选取不同的组件组成不同的XPe目标平台,从而能够极大地减少对存储空间的占用率。而且因为这些嵌入式设备在通常情况下,是不需要进行软件安装的,将操作系统平台和应用软件进行定制之后,会极大减少大规模部署的工作量。
XPe的组件包括驱动程序、服务和应用程序等。因为XPe是基于XP Professional的操作系统,所以XPe支持Win32 API,为XP开发的应用程序可以运行在XPe平台上,不过前提是支持应用程序的组件必须被添加到XPe平台中。除了Win32 API外,XPe还支持.NET Framework程序。.NET Framework也是XPe的组件之一,只要添加到XPe平台中,.NET程序就可以运行了。
XPe目前的版本号是Windows XP Embedded SP2 Feature Pack 2007,除了普通的XP功能外,XPe的SP2 Feature Pack 2007中还添加了EWF、FBWF等功能,以适应嵌入式设备的特殊要求。
微软目前提供XP Embedded的测试版,我们可以在下面的链接中下载XPe测试版:
http://www.microsoft.com/windows/embedded/eval/trial.mspx
下载XPe之后,还需要获取XPe注册码,在下列链接中进行注册:
http://www.microsoft.com/windows/embedded/eval/getregistration.mspx
安装过程在这里我们不再多说,接下来介绍一下XPe的开发环境。由于不涉及到代码的编译,XPe的开发环境并不是一个集成开发环境(IDE),主要包括下列部分:
u Target Designer
目标设计器,用于设计针对目标设备的操作系统平台。该工具用于选择加入到目标平台中的组件,进行依赖检查,然后编译成目标平台。
u Target Analyzer
目标分析器,用于分析目标设备的工具。该工具用于获取目标设备的信息,我们可以使用WinPE来运行该工具。
u Component Designer
组件设计器,用于设计自定义组件的工具。该工具可以将应用程序、驱动程序等设计成XPe可以使用的组件。
u Component Database Manager
组件数据库管理器,用于管理组件对象库中的组件。由于组件都被保存在一个SQL Server数据库中,所以,在自定义组件创建完成后,需要使用组件数据库管理器来将这个组件导入到数据库中。
以上工具都是XPe开发中需要使用的工具,在开发套件中,还有一些非常有用的小工具。我们将在之后的章节,根据具体使用情况来介绍。
下一节中,我们将从最小化的XPe平台——MiniLogon入手,来介绍XPe的开发流程。
11月14日下午2点30分,我也会有一场Webcast《XP Embedded开发初体验》:
讲座内容:
XP Embedded是什么?能够用来做什么?如何去做?本次讲座针对这些问题,采用一个刚进入嵌入式领域开发者的视角来回答这些问题。我们将为大家解释Xpe的应用领域、常用功能和开发环境,并使用Virtual PC作为目标环境,搭建一个Xpe的平台。从而让大家了解Xpe的开发其实不是那么复杂。
在这场讲座中,我也会用一个具体的DEMO来演示如何进行一个简单的XPe平台开发的过程。