简介
该白皮书面向刚刚接触 Microsoft Windows XP Embedded 并且希望更好地了解如何在其 x86 客户端设备上生成可靠的嵌入式Windows XP 映像的开发人员。本文分为四个部分。第一部分提供了有关嵌入式Windows XP 操作系统 (OS) 的概述,解释了其固有可靠性的由来。第二部分提供了一些软件工程设计准则,这些准则可用来提高嵌入式Windows XP 生成的可靠性。第三部分提供了用于在嵌入式Windows XP 生成过程的多个步骤中提高可靠性的提示(参见下面的图 1)。最后,第四部分概述了多个可以在质量保证测试中发挥作用的、便于使用的测试实用工具。
图 1.嵌入式Windows XP 生成过程高级概述
嵌入式Windows XP 概述
嵌入式Windows XP 代码基
嵌入式Windows XP 和 Windows XP 都是在 Microsoft Windows NT 和 Windows 2000 的同一稳定代码基上生成的。该代码基提供了受保护的内存模型和抢先式多任务 — 这两者都促进了系统稳定性。从这一经过检验的代码基开始,从根本上而言,嵌入式Windows XP在从内核级别开始的各个级别上都是可靠的。
Windows XP 桌面操作系统和嵌入式Windows XP 操作系统之间的差别在于:嵌入式Windows XP 被模块化为多个组件。了解嵌入式Windows XP的组件化机制是部署可靠的嵌入式Windows XP 生成的关键所在。
嵌入式Windows XP 生成的概念
嵌入式Windows XP 的生成 概念与嵌入式操作系统(如 Windows CE .NET)不同。对于嵌入式Windows XP 而言,生成 意味着收集为支持目标设备中需要的功能所需的二进制文件、注册表项和其他资源。对于 Windows CE .NET 而言,生成 意味着实际重新编译和链接 OS 与应用程序。
软件工程设计准则
开发人员可以利用多个可能对可靠性产生重大影响的软件工程设计准则。
选择供应商
嵌入式Windows XP 的一个主要优点是开发人员可以使用现成的基于 x86 的硬件作为他们的客户端设备。这一便利可以节省时间和金钱。但是,从可靠性观点来看,开发人员需要了解设备硬件是决定设备可靠性的关键因素。同样,开发人员需要仔细选择提供其他软件驱动程序或应用程序的第三方供应商。开发人员应该在以下五个方面评估他们的供应商:
?
供应商硬件能否满足或超过目标系统要求(即,Intel Pentium II 或更高等级的 CPU、ACPI PnP 基本输入/输出系统 (BIOS) 支持、外围设备组件互联 (PCI) 2.0 或更高等级的支持、5 MB 的存储媒体、64 MB 的 RAM)?
?
该硬件供应商是否注重质量?该供应商的质量过程是什么?该供应商是否参与了 Microsoft 的 Windows Hardware Quality Lab (WHQL) 计划?
?
软件供应商是否对它们的软件驱动程序或应用程序进行担保?
?
这些供应商是否提供及时的技术支持?
?
如果硬件或软件的专用部件只有一个供应商并且出现了技术问题,那么该供应商能够以多快的速度做出反应?
开发方法
在开始之前遵循一套开发方法(包括编写软件需求文档)可以间接提高最终生成的可靠性。生成嵌入式Windows XP 映像是一个选择和配置组件的过程。例如,借助于概述了最终用户将如何配置目标设备的需求文档,开发人员可以选择正确的组件以启用正确的功能。借助于概述了如何制造目标设备的需求文档,开发人员在配置嵌入式Windows XP 生成时可以适应生产流程。
嵌入式Windows XP 技术支持
嵌入式Windows XP 开发工具 Embedded Studio 易于使用,但如果开发人员具有可用的技术支持网络,则可以节省时间(并减少加班时间)。Microsoft 在该 Microsoft Web 站点中为嵌入式Windows XP 支持非常强大的开发人员社区。开发人员可以在该站点中利用新闻组、技术文章、知识库和其他资源。此外,可以从许多公司(如 BSQUARE)购买嵌入式Windows XP 技术支持软件包。
嵌入式Windows XP 开发过程
Microsoft 的 Web 站点详细说明了嵌入式Windows XP 开发过程和工具。这些步骤在第 1 页上的图 1 中进行了概述,分别为:分析硬件、创作组件、配置生成和部署映像。本部分不在这里重复相同的信息,而是针对开发人员可用来确保更为可靠的嵌入式Windows XP 生成的每个步骤提供专门的提示。
开始之前提示 #1:加载 XP Pro 和应用程序
开发人员为确保可靠的生成而进行的最佳时间投入是,在开始的时候,在自己的 x86 目标设备上安装 Windows XP Professional(桌面操作系统)。通过安装和运行 XP Professional 和指定的应用程序,可以提供有关硬件、驱动程序和应用程序的可靠性的基准。通过这种运用基准化的方法,开发人员可以在嵌入式Windows XP 的可能源发生生成错误时将硬件、驱动程序二进制文件和应用程序在外。
分析硬件提示 #2:了解目标分析器
目标分析器的两个程序 — 目标分析器专业版 (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 时,开发人员可能需要其他来源以便说明目标设备体系结构。
配置生成提示 #3:节省原型化时间
通过 Target Designer,开发人员可以生成操作系统映像以便进行测试,而无须对该操作系统进行授权。该映像将在 90 到 180 天内有效,然后该映像将“蓝屏”。如果开发团队已经选择了嵌入式Windows XP ,并且已经为贸易展或重要客户开发了原型,则该团队应该考虑使用产品许可证。这可以避免出现以下情况:即,在一段时间(例如四个月)以后的某个周末,因为演示版“蓝屏”而找来某位工程师进行紧急处理。
配置生成提示 #4:Target Designer 中的可见性设置
Target Designer 使开发人员可以设置可见性阈值,该值指示组件在配置过程中是否可见。使用可见性级别,可以减少开发人员必须处理的组件的数量。开发人员应该知道,当他们调试生成并且认为缺少某个组件时,他们应该确认它的可见度设置。
配置生成提示 #5:Target Designer 中的依赖项检查
在配置嵌入式Windows XP 生成时,Target Designer 不断地检查冗长的依赖项链。每个组件都具有它自己的需要和依赖项。如果选中了 Auto-resolve dependencies 复选框,则 Target Designer 会自动解决组件之间的依赖项问题。该自动化技术的弊端是:生成可能变得超过开发人员所希望的大小,并且不会提供有关哪些组件被添加以满足依赖项的可见度。开发人员需要了解提高生成过程的速度并使用自动化依赖项检查与最大限度地减小映像之间的折衷。
部署映像提示 #6:使用系统克隆工具
在制造过程中,当准备将在多个设备上复制的生产映像时,开发人员应该包括系统克隆工具组件。如果每个设备分别经历独立的 First Boot Agent (FBA) 过程,则无需该克隆组件。但是,FBA 过程非常费时,并且对制造环境不利。
测试的作用
可以使用多个测试实用工具,以协助进行嵌入式Windows XP 调试。使用 PC Magazine (http://www.pcmag.com) 提供的 InCtrl5,开发人员可以获取系统的前后快照。FileMon 是一种免费提供的工具,它可以实时显示文件系统活动,包括程序使用了哪些文件(包括动态链接库 (DLL) 和配置文件)。RegMon 也可从 Sysinternals (http://www.sysinternals.com) 获得,它显示了哪些应用程序正在访问注册表。Microsoft 在它的 Platform SDK 中提供了 Dependency Walker 实用工具,它可以帮助开发人员确保为应用程序或驱动程序包含所有需要的 DLL。
小结
该白皮书探讨了开发人员可以重点关注以确保更加可靠的嵌入式Windows XP 生成的四个方面。这些方面包括:了解嵌入式Windows XP 的由来;使用可靠的软件工程设计准则;通过使 Windows XP Professional 在目标设备上运行来启动项目以及其他一些可以提高可靠性的生成提示;以及将使用多个方便的测试实用工具进行测试结合到开发过程之中。但愿刚刚接触嵌入式Windows XP 的开发人员能够在这些主题中找到一些忠告,以减缓其嵌入式Windows XP 学习曲线,并且帮助他们早日将可靠的产品投放市场。