您的位置:首页 > 其它

2-制作XPE镜像

2013-11-04 22:10 148 查看
   说实话对于微软的XPE,在用之前都没有听说过,要不是公司接到新的客户要求,要将原来的PC平台改造成嵌入式,同时交互方式要求触摸屏,我估计都不知道地球上存在着XPE这个系统。
   既然要搞一个能够支持触摸屏嵌入式平台,考虑的开发周期和最大化利用公司原有资源(原有的客户端软件是windowsPC下开发的)等诸多因素,决定选择使用“工业屏+工控机+XPE系统”作为开发方案,这样就能最快的时间将原有的公司软件移植到嵌入式平台上,至于XPE开发的任务就落到我的头上。
   首先就是找开发环境Windows Embedded Standard 2009(制作的XPE镜像是带SP3的),可以到MSDN上找安装镜像,安装过程需要输入key,至于途径就想办法联系MS的代理商搞定吧^w^。还有一点是,安装之前必须安装微软的SQL server 2005,安装完成以后发现WES主要有这么几个工具 Component
Designer、Component Database Manager、Target Designer、SDI loader和在Utilities文件夹内的一些辅助工具。经过查资料和反复的实验,总算是明白了一点头绪。先说最简单的,制作最小的命令行shell的XPE镜像流程是这样的。
        
1. 目标分析Target  Analyzer

   首先在目标工控机上安装XP系统,最好安装MS的原版系统,在网上找的ghost版本里边添加了太多和硬件平台不相关软件和驱动,原版的XP镜像可以到MSDN上找到,U盘安装一下就ok了,按安装好的工控机上安装了“驱动精灵”,进行驱动程序下载和安装,这样驱动安装程序比如显卡、声卡、网络等等要保存好,这样驱动安装文件以后会用到的!我这主要保存了显卡Intel GMA3150和网卡RTL8105E,至于触摸屏驱动是屏幕供应商提供的,不需要我操心了。
   XP系统安装好以后,就轮到TAP.exe上场了。在工控机上运行TAP.exe,就会在当前目录下生成一个device.PMQ文件,这里边保存了当前工控机下的软硬件信息。这个文件一定要保存好,因为以后无论如何定制XPE镜像,只要硬件平台不改变,这个文件就一直有效。
   


   TAP.exe和TA.exe是WES提供检测当前运行主机软件和硬件组件的工具,在WES安装目录的U文件夹下。

   目标分析器的两个程序 — 目标分析器专业版 (TAP.exe) 和目标分析器 (TA.exe) 互为补充。TAP.exe 是一种要求在目标设备上安装 Windows 2000 或 Windows XP 的 Microsoft Win32 应用程序。如果开发人员无法使用 TAP.exe,则可以选择运行目标分析器 (TA.exe) — 它在 DOS 环境中运行。TA.exe 只检测 ACPI、USB、1394、SCSI、PCMCIA 和 ISA 的存在(与存在和设备相对)。此外,TA.exe 可以为硬件抽象层
(HAL) 产生最佳推测,并且不检测软件枚举设备。在使用 TA.exe 时,开发人员可能需要其他来源以便说明目标设备体系结构。

   TAP使用方法是首先在目标机安装了完整的xp系统,在xp系统下运行tap.exe,生成了目标的device.PMQ文件使用在命令行模式下,可以设定生成文件的名字和位置等等。
   具体可以通过tap /?命令查看命令参数。例如:tap.exe  /o  x:\dev.PMQ

2. 组件设计器Component Designer

    提取目标板信息成功以后,下一步就是将目标板做成一个独立的组件。也就是通过组建设计器中根据PMQ文件创建硬件宏,生产单个的一个组件,方便以后的调用。

   启动组件设计器,然后在“File”菜单上,单击“Import”。使用“Browse”选项找到TAP生成的 PMQ 文件,然后单击“Next”继续。启动 PMQ 导入过程,导入程序会产生目标硬件的硬件宏组件。

   在属性面板里设置组件名字,版本等信息。未来方便查找,我一般会在自定义的组件名称之前加"$_"作为标记,以便以后组件的查找。在这里可以根据需求做进一步的裁剪工作。这一精减工作将使您得到更小的、更安全的映像。比如软盘、CD组件等等。这里我保存组件名字为"$_IPC_DeviceList"。

   如果您希望宏组件可以在目标设计器中进行配置,则可以将 Selector Prototype 组件添加为硬件宏的原型。为此,请导航到主要组件属性页,并且单击“Prototype”字段上的“Browse”按钮。导航到数据库中的 Software | Test & Development 类别,选择 Selector Prototype (R,1507) 组件,然后单击“OK”将该组件添加为原型。

   最后,可以设定为release版本关闭组件编辑,或者Update Component 重启后期编辑。保存为 MYDEVICE.SLD 文件,并且关闭组件设计器。
   


 

3. 组件数据管理器Component Database Manager

   XPE是通过SQL server数据库对全部组件进行管理的。新添加的组件都要导入数据库,才能为Target Designer有效使用。导入过程很简单,在组件数据库管理器运行之后,单击“Main Database”选项卡上的 Import。浏览到保存 SLD 文件的位置,然后选择保存的MYDEVICE.SLD 文件导入。导入过程应该相当快速;当该过程完成以后,可以关闭组件数据库管理器。

   


 
 
4. 目标设计器Target Designer

   这一步部分是制作XPE最关键和最复杂的部分。

   首先运行Target Designer,在“File”菜单下“New”一个文件,命名为MYDEVICE,就会保存为MYDEVICE.SLX文件。在组件搜索框内搜索$_IPC_DeviceList,得到之前保存的组件,双击导入该组件。
   


 
5. 检测依赖性Check Dependencies
   检查依赖性,发现有5个错误。逐个把它们干掉,第一个选择NT Loader,后两个是关于文件系统格式的,第四个关于语言和地区的选择,最后一个是选择Minlogon
  

  


        

   第二次检查依赖性,原来的5个错误就消失了,但是出现了一个新错误。我们双击打开查看,要求我们选择shell模式,这里选择Command Shell->Add。
 
 


   第三次检查依赖性,就没有错误了,千呼万唤始出来,终于可以生成我们需要的镜像了。

  


 
 
6. 生成镜像 Build Image
   这样就可以生产镜像文件了。后续只需要设定,保存路径就可以了。还有一点是,如果你的镜像没有输入PID的话,生成镜像会有warning。而且没有输入MS提供的PID的镜像,安装之后最多能使用三个月时间,之后就会蓝屏。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息