使用 Windows Embedded Studio 构建自定义 Windows Embedded XP 操作系统






3.50/5 (8投票s)
本文讨论了 Windows Embedded Studio 以及如何为设备使用 Microsoft Embedded Studio 开发自定义 Windows Embedded XP 操作系统。
1. 引言
本文讨论了 Windows Embedded SDK 以及如何使用 Microsoft Embedded Studio (Windows Embedded XP SDK) 为设备开发自定义 Windows Embedded XP 操作系统(评估版)。(在本例中,我选择了我的桌面系统作为设备,并为其构建了 Windows Embedded 操作系统)。嵌入式 XP OS 的桌面窗口如下所示。
2. 安装
我们可以通过以下链接下载 Microsoft Windows Embedded XP SDK
http://www.microsoft.com/windows/embedded/eval/default.mspx
3. 关于 Windows Embedded XP SDK
Windows Embedded Studio 包含以下工具。
- 3.1 组件数据库
- 3.2 Target Designer
- 3.3 Component Designer
- 3.4 Component Database Manager
3.1 组件数据库
- 包含组件定义和其他支持数据的数据库。
- 组件数据库包含平台、组件及其支持数据的定义。它实现为 SQL Server 数据库,可以驻留在本地开发计算机上,也可以驻留在服务器上供多个 Windows Embedded Studio 用户共享。
- 组件数据库的数据是通过使用 Component Designer 创建 .sld 文件来创建的。.sld 文件包含组件和相关定义。通过使用 Component Database Manager 读取 .sld 文件内容并将组件定义插入其中,可以将数据输入到组件数据库中。此过程称为将数据导入组件数据库,或简称导入 .sld 文件。
3.2 Target Designer
- 一个使用从数据库中选取的组件来自定义运行时映像并组装实际运行时映像的工具。
- Target Designer 是您用于自定义和生成部署在嵌入式设备上的运行时映像的工具。映像通过配置进行自定义。配置本质上是一个物料清单,定义了自定义运行时映像的确切内容。完成配置后,就可以将其构建成运行时映像。构建过程实际上不编译任何源文件;它会在指定位置创建目录结构,并复制运行时映像所需的二进制文件。然后可以将目录结构的内容移动到目标设备并启动。
- 通过从数据库中选择组件,然后解决对其他组件的任何依赖关系,来定制配置。Target Designer 可以自动处理大部分依赖关系解析,只需要手动干预来解决歧义。例如,系统可能会提示您选择几个可用的显示驱动程序之一。一些组件还允许设置参数来确定其在运行时映像中的确切功能集。
- 配置存储在 .slx 文件中,可以根据需要加载和编辑。.slx 文件可以随时用来重新构建相同的目标映像。
3.3 Component Designer
- 用于创建组件定义的工具。
- Component Designer 是您用于为自己的软件创建新组件定义并将其存储在 .sld 文件中的工具。您可以使用 Component Designer 创建和编辑组件及其资源、依赖项、组和存储库。
3.4 Component Database Manager
- 将组件定义导入数据库的工具。
- Component Database Manager 是您用于将组件定义和相关数据导入数据库、浏览数据库以及从数据库删除组件的工具。
4. 构建运行时映像
创建运行时映像的主要步骤如下:
- 4.1 设置开发系统
- 4.2 为目标设备创建组件
- 4.3 创建新配置
- 4.4 更新配置设置
- 4.5 检查依赖项
- 4.6 构建 Windows XP Embedded 运行时映像
- 4.7 部署 Windows XP Embedded 运行时映像
4.1 设置开发系统
4.1 设置开发系统
通过向系统添加第二个硬盘驱动器或另一个分区,您可以配置系统以支持 Windows XP Embedded 映像的部署。第一个驱动器用于 Windows XP Professional 和 Windows XP Embedded 工具。第二个驱动器或分区是您的 Windows XP Embedded OS 映像将部署到的位置。
- 安装 Windows XP Professional 和 Windows XP Embedded 工具后,关闭系统。
- 右键单击“我的电脑”并选择“管理”。将打开“计算机管理”窗口。
- 在“计算机管理”控制台树中选择“磁盘管理”。“逻辑磁盘管理器”将显示您系统上的可用媒体。
- 右键单击新硬盘驱动器(disk1)的未分配空间,然后选择“新建分区”。使用“新建分区向导”创建一个主分区,并格式化为 NTFS。
- 访问并编辑您的 Boot.ini 文件,为第二个硬盘驱动器添加一行。Boot ARC 路径根据硬盘驱动器配置的 IDE 端口而变化。本教程要添加的 Boot ARC 路径是 **multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Embedded" /fastdetect**。例如,请参见下面的 Boot.ini 文件。
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS= "Microsoft Windows XP Professional" /fastdetect multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Embedded" /fastdetect
4.2 为目标设备创建组件
配置好系统以支持 Windows XP Embedded 映像的部署后,您可以创建一个设备组件。设备组件包括对连接到系统的所有硬件的支持,包括视频、网络等的设备驱动程序。
- 导航到 Program Files\Windows Embedded\Utilities 目录
- 运行 Tap.exe。(tap.exe -à 32 位支持;ta.exe -à 16 位支持)
- 运行 Component Designer。
- 在“文件”菜单上,选择“导入”。
将出现“选择要导入的文件”对话框。
- 在文件列表中,选择 Devices.pmq 文件,然后选择“打开”。
将出现“导入文件”对话框。
- 选择“开始”按钮将 Devices.pmq 文件导入 Component Designer。
将 Devices.pmq 文件中的条目与数据库中可用的设备驱动程序匹配可能需要几分钟时间。
- 导入完成后,选择“关闭”按钮。
Devices.sld 文件将显示在 SLD 浏览器窗格中。
- 在“文件”菜单上,选择“保存”以保存 .sld 文件。
- 在“工具”菜单上,选择“Component Database Manager”。
将打开 Component Database Manager。
- 选择“数据库”选项卡,然后选择“导入”。
将出现“导入 SLD”对话框。
- 浏览到 Devices.sld 文件,选择它,然后选择“打开”。
- 选择“导入”。
.sld 文件将添加到数据库,设备组件也将添加到数据库。
- 关闭“导入 SLD”对话框和“Component Database Manager”。
- 关闭 Component Designer。
现在您可以创建新配置了。
4.3 创建新配置
创建设备组件后,您可以开始构建运行时映像。在 Target Designer 中,您将组件添加到配置中。配置是构成 Windows XP Embedded OS 映像的组件集合。
创建设备组件后,您可以开始构建运行时映像。在 Target Designer 中,您将组件添加到配置中。配置是构成 Windows XP Embedded OS 映像的组件集合。
- 运行 Target Designer。
- 在“文件”菜单上,选择“新建”。
将出现“新建配置”对话框。
- 输入配置名称,例如“MySystem”,然后选择“确定”。
MySystem.slx 配置将显示在配置编辑器中。
- 从“组件浏览器”中,将“设备”组件拖到配置编辑器窗格。
设备组件已添加到配置中。
- 在“搜索”框中,键入“Explorer Shell”,然后选择“搜索”图标。
Explorer Shell 组件(位于 Software\System\User Interface\Shells\ 节点下)将在组件浏览器中高亮显示。
- 将“Explorer Shell”组件拖到配置编辑器窗格。Explorer shell 已添加到配置中。
- 使用相同的方法,添加以下组件:
注意 搜索从您上次选择的组件浏览器节点开始,并从此节点向下搜索。选择组件的顶级节点,然后再选择“搜索”图标。
- NTFS (Software\System\System Services\Base 节点)
- NT Loader (Software\System\System Services\Base 节点)
- NTFS Format (Software\System\Storage & File Systems\Applications 节点)
- 语言支持以选择默认语言组件(Software\System\International\Infrastructure 节点)
- 用户界面核心 (Software\System\User Interface\Shells\Windows Shell)
现在您可以更新配置设置了。
4.4 更新配置设置
创建运行时映像后,根据运行时映像和目标设备的要求,有几个配置设置需要更新。
- 在配置浏览器中展开“用户界面核心”组件,然后选择“设置”。
用户界面设置将显示在详细信息窗格中。
- 选择以下复选框:
- 在“开始”菜单上显示“我的电脑”
- 显示桌面图标
- 在“开始”菜单上显示“帮助和支持”
- 在“开始”菜单上显示“控制面板”
- 在“开始”菜单上显示“网络连接”
- 在“开始”菜单上显示“搜索”
- 在“开始”菜单上显示“运行”
- 在“开始”菜单上显示“注销”(默认)
- 在“开始”菜单上显示“关机”(默认)
- 在“开始”菜单上显示 Internet Explorer
- 在“开始”菜单上显示“所有程序”列表
- 锁定任务栏(默认)
- 使用 Windows Classic 文件夹(默认)
- 在“开始”菜单上启用拖放(默认)
- 在配置浏览器的“MySystem”节点顶部,选择“设置”。
配置设置将显示在详细信息窗格中。
- 在“目标设备设置”下,选择“显示”。
- 输入 Windows XP Embedded OS 将部署的第二个硬盘驱动器的正确值。例如,一个盘符为 D: 且 boot arc 路径为 rdisk(1)partition(1) 的第二个硬盘驱动器将需要以下值:
- 启动驱动器:D
- Windows 文件夹:D:\WINDOWS
- Program Files 文件夹:D:\Program Files
- Documents and Settings 文件夹 D:\Documents and Settings
- 启动 ARC 路径:multi(0)disk(0)rdisk(1)partition(1)(默认)
- 启动分区大小(MB):5000
- 分区簇大小(字节):4096(默认)
现在您可以检查配置的依赖项了。
4.5 检查依赖项
配置运行时映像后,在构建之前检查其依赖项。
- 在“配置”菜单上,选择“检查依赖项”。
依赖项检查可能需要几分钟甚至更长时间,具体取决于您计算机的性能。
- 依赖项检查完成后,选择“关闭”。
每当有多个组件可用于解决依赖项时,都会将一个任务添加到“任务”选项卡。
- 如果没有任务,请继续执行步骤 6:构建 Windows XP Embedded 运行时映像。
- 或 -
双击“任务”选项卡上的任务。
将出现“解决依赖项”对话框,其中说明了必须选择多少组件来解决该依赖项,并列出了可用的组件。
- 选择要解决此依赖项的组件,然后选择“添加”。
- 解决“任务”选项卡上列出的所有依赖项。
注意 解决依赖项可能会引入新的依赖项。
- 再次运行依赖项检查,解决任何其他任务。
执行此操作,直到“任务”选项卡上不再显示任何任务。
- 解决所有依赖项后,关闭“依赖项检查”对话框。
现在您有一个完整的配置,可以构建成运行时映像了。
4.6 构建 Windows XP Embedded 运行时映像
解决配置的所有依赖项问题后,您就可以构建它了。
- 在 Target Designer 中,选择“配置”菜单,然后选择“构建目标映像”。
将出现“构建 MySystem.slx”对话框。
- 验证构建类型是否设置为“发布”,然后选择“构建”。
可能会显示有关覆盖 Windows Embedded Images 目录内容的邮件。选择“是”以删除目录内容。
构建进度将在“构建 MySystem.slx”对话框中显示。
- 构建完成后,选择“关闭”。
- 在“文件”菜单上,选择“保存”。
- 完成后关闭 Target Designer。
现在您可以部署运行时映像了。
4.7 部署 Windows XP Embedded 运行时映像
构建运行时映像后,就可以部署它了。
- 在 Windows Explorer 中,导航到您的运行时构建目录,例如 C:\Windows Embedded Images。
- 将构建目录的内容复制到第二个硬盘驱动器。
例如,选择构建目录中的所有文件和目录,然后将它们拖到 D: 驱动器。
- 重新启动系统。
- 在 Microsoft Windows OS Selection 提示符处,选择您的第二个硬盘驱动器。例如,选择 Microsoft Windows XP Embedded。
将显示 Microsoft Windows XP Embedded 启动屏幕,并启动 FBA。
- FBA 将重新启动您的系统。在 Microsoft Windows OS Selection 提示符处,选择启动第二个硬盘驱动器以完成 First Boot Agent(首次启动代理)阶段。
First Boot Agent 阶段完成后,您将自动以管理员身份登录到您的 Microsoft Windows XP Embedded 系统。
您已成功部署了运行时映像。使用本教程提供的步骤和示例,您可以为特定的目标设备创建运行时映像。
5. 错误
要解决构建运行时映像过程中出现的错误,请遵循以下提示。
- 为“repositories”目录授予共享权限。
- 在大多数情况下,使用 FBAlog.txt 可以解决问题。这是打开 FBAlog.txt 文件的路径:“. \windows\fba\.”
- 尝试阅读这两篇提示文章,如果它们能帮助您发现和修复运行时问题,请告诉我们。
- http://msdn.microsoft.com/embedded/community/community/tips/xp/invalid/default.aspx
- http://msdn.microsoft.com/embedded/community/community/tips/xp/reboots/default.aspx
6. 链接
- http://msdn.microsoft.com/embedded/usewinemb/xp/techrsrcxp/techarticles/default.aspx
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xpehelp/html/xehowhowtocomponentizeapplications.asp
- http://msdn.microsoft.com/embedded/usewinemb/xp/techrsrcxp/howtos/default.aspx
- http://msdn.microsoft.com/embedded/getstart/choose/mythbstr/default.aspx
- http://msdn.microsoft.com/embedded/usewinemb/xp/appdev/default.aspx
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpembed/html/customxpecomp.asp
- http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.windowsxp.embedded
- http://msdn.microsoft.com/embedded/community/community/tips/xp/default.aspx
- http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xpehelp/html/xetbsHowToTopics.asp
- http://msdn.microsoft.com/embedded/getstart/basics/tutorialsxpe/default.aspx
- http://www.windowsfordevices.com/articles/AT5376962137.html