无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5994|回复: 6
打印 上一主题 下一主题

Target Designer构建Image之后,Windows XP Embedded无法启动

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-25 10:05:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用Target Designer构建Image之后,将Image文件目录中的目录和文件拷贝到D盘的根目录下,保

存配置信息,选择File菜单的Save菜单项。
关闭Target Designer
重启机器
在重启过程中,会提示两个启动选项,运行Windows XP Professional, 或者运行 Windows XP

Embedded. 择Windows XP Embedded。
启动选项使用C:\\Boot.ini控制的,在前面我们已经在Boot.ini中添加了如下段落:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS="Microsoft Windows XP Embedded" /fastdetect
启动之后出现以下提示:
-----------------------------------------------
因为以下文件的损坏或者丢失,Windows 无法启动:
<Windows root>\system32\hal.dll
请重新安装以上文件的拷贝。
---------------------------------------------------
请教如何解决该问题,多谢。。。。。。。。
2#
 楼主| 发表于 2006-8-25 12:18:54 | 只看该作者
本人按照以下文档开发
------------------------------------------------------------------------------------------------------------------------------
Windows XP Embedded 上手指南

作者:MICROSOFT



概述

对于一种开发工具的学习,最重要也最困难的阶段就是概念的建立,只要建立了正确的概念,明白整个系统的体系结构和各种工具作用,剩下的工作就是实际操作,积累经验了,最多不过在需要的时候查一查手册。

本文通过指导读者进行实际操作,一步步地完成一次完整的开发工作,从而帮助读者建立一个清晰明确的概念。



因为我们开发的产品不是普通的软件,而是专用的操作系统,所以需要针对某个特定的硬件平台(目标机)来进行开发;首先需要一个强大的工作站来运行开发环境和开发工具,然后根据目标机硬件配置和软件需求进行开发,开发完成后将做好的操作系统影象文件(Image)与目标机硬件结合,运行系统并测试。





配置开发工作站

首先介绍开发用的工作站,一台标准PC机,硬件配置要求如下:

? ? 操作系统Windows XP Professional

? ? PIII 500MHz 以上(建议1GHz以上)

? ? 256MB 内存 (建议512MB)

? ? 3GB 剩余硬盘空间



对该PC机的配置如下:

? ? 将硬盘设置两个分区

? ? 第二个分区分配为700MB,可以是FAT32格式或NTFS格式(这个分区将包含可启动的Windows XP Embedded Image)

? ? 主分区使用所有剩余的硬盘空间,可以设置为FAT32格式或者NTFS格式

? ? 在主分区中安装Windows XP Professional系统,并安装Windows XP Embedded 开发工具



修改BOOT.ini文件,将下面的代码部分增加到该文件中,可以使这台PC机双重启动,作为开发用的Windows XP Professional系统从分区一启动,而开发好的Windows XP Embedded Image从分区二启动。

[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(0)partition(2)\\Windows="Microsoft Windows XP Embeddedd" /fastdetect



安装Windows XP Embedded开发工具

将Windows XP Embedded开发包的CD1放入CD-ROM中,在自动运行的提示中, 按照以下顺序安装XPE开发工具:

? ? Tools Setup:安装XPE开发工具(包括Target Designer, Component Designer, Component Database Manager, 以及其他工具)

? ? Database Engine Setup: 安装SQL Server 2000 Desktop Edition database engine (MSDE)

? ? Database Setup: 安装组件数据库及Repositories



开发工作站的其他配置

在C盘新建一个XPE_Demo目录,用来放置开发中生成的配置定义文件和组件定义文件。

从CD-ROM上安装TweakUI示例文件到C:\\Program Files\\TweakUI。

这样我们就完成了开发工作站的准备工作。





硬件平台分析

在开发过程中,首先需要运行硬件分析程序来分析当前机器的硬件配置情况。

操作系统与硬件紧密相关,只用充分地了解和支持硬件,才能让操作系统正常稳定的运行。由于X86结构计算机的硬件比较复杂,普通开发者很难对它充分地理解熟悉,因此,微软提供了一个硬件分析工具来帮助开发者分析硬件。

Windows XP Embedded提供的这个工具叫Target Analyzer,可以自动分析所在设备的硬件信息,Target Analyzer有两个版本:TA.exe和TAP.exe。分析完成后会在同一个目录中产生一个XML格式的输出文件Devices.pmq。

TAP.exe是一个32位的应用程序,运行在Windows XP和Windows 2000上,可以运行一些高级的硬件检测。

TA.exe是一个16位应用程序,运行在DOS上,可以用来检测一些无法安装Windows 2000及Windows XP的系统,但检测的功能要差一些,有的硬件设备无法识别。



下面我们运行TAP.exe来检测这台开发机的硬件配置:

? 进入C:\\Program Files\\Windows Embedded\\Utilities目录

? 运行TAP.exe,会在同目录中生成Devices.pmq

用文本编辑器打开这个Device.pmq文件,文件中用XML语言描述了目标设备的硬件信息,例如:在PCI段中,描述了Intel的21440 Ethernet 控制器。



因为我们是在开发工作站上运行了这个程序,所以Devices.pmq中包含的是开发工作站的硬件信息。





保存硬件平台信息

使用Devices.pmq中的信息有两个办法,其一可以根据这个文件生成一个

XPE组件,为以后开发完整的操作系统作准备;其二可以在开发时将这个文件直接导入;将PMQ文件做成XPE组件的好处是,可以一次工作反复使用:做成XPE组件后保存到组件数据库中,以后每次开发系统都可以调用。

? ? 运行组件设计器 Component Designer

? ? 将刚才生成的Devices.pmq文件导入,选择File/Impot… ,弹出导入对话框

? ? 按下“Start”按钮,开始PMQ文件的导入过程,该过程大约耗时10分钟;完成后,会在Component Designer中显示一个‘Devices.sld’组件,将其改名为‘Demo Platform Component’

? ? 展开Component Designer中目录结构

Windows XP Embedded Client

Components

Devices

选中Devices,将组件的Name属性由‘Devices’改为‘Demo Platform Component’





你可以将该组件设为‘Selector Prototype Component’类型,成为该类型的组件后,可以在Target Designer中单独地选取该组件所关联的各个设备:

? ? 在Prototype栏中按下Browse…,弹出Select Prototype Component对话框。

? ? 在Prototype component source栏中选中Database选项。

? ? 在组件树列表中展开到Software/Test&Developnent,选中Selector Prototype Component组件。

? ? 按下OK确定。







选择File/Save as菜单将该配置保存为“C:\\XPE_Demo\\DemoPlatform.SLD” 这个SLD文件中就包含了前面开发的Demo Platform Component组件,关闭Component Designer。

1. 2. 要在Target Designer中使用这个组件,需要先把这个组件保存到组件数据库中:

? ? 打开Component Database Manager,开始菜单\\所有程序\\Microsoft Windows Embedded Studio\\Component Database Manager

? ? 点击‘Import’按钮,在SLD file:栏中按下浏览按钮,找到“C:\\XPE_Demo\\DemoPlatform.SLD”,点击Import。

? ? Import成功后,关闭Component Database Manager。

? ? 确认工作成果:

打开Target Designer,选择 File/New菜单,建立一个新的配置Configuration,确认Demo Platform Component 是否在Target Designer左侧的组件浏览器中,如果发现该组件,则说明刚才的硬件分析工作顺利完成了。





创建初始化配置

要构造一个完整的XPE系统,首先需要在Target Designer中创建一个配置(Configuration),这个配置仅仅是一个空的开发框架,然后在该配置中添加所有的硬件支持组件,系统内核组件和软件功能组件。添加完成后使用Target Designer自动检测组件的关联关系,并自动把缺少的组件添加到配置中。

? 首先运行Target Designer

? 选择File菜单

? 选择New,创建一个新的Windows XP Embedded 配置

? 将该配置的Name 改为DemoPlatform

在下面的Choose Platform中,选择Windows XP Embedded Client (x86)





按下OK按钮创建该配置并保存

在Target Designer中间的组件列表栏中,选中DemoPlatform.slx,在右边的属性栏中修改配置的属性,添入您的个人信息(Name, Owner, Author, Description等)





设置高级参数

下面设置一些整个系统运行需要的参数

在配置浏览器的顶端,展开DemoPlatform.slx,选中Settings,这时右边的属性设置面板会显示可以设置的选项





在Target Devices Settings下面,点击Show,显示详细的选项

设置下列的配置信息:

? ? Boot Drive = C:

? ? Windows Folder = D:\\Windows

? ? Program Files Folder = D:\\Program Files

? ? Documents and Settings folder = D:\\Documents and Settings

? ? Boot ARC path = multi(0)disk(0)rdisk(0)partition(2)

? ? Boot Partition Size (MB) = 700

设置完成后,将配置信息保存到C:\\XPE_Demo 目录。

创建XPE组件

通常每一个嵌入式设备都会运行一个或多个用户自己的应用程序,另外如果使用了非通用的硬件设备,还需要添加相应的驱动程序;怎样把这些相对独立于操作系统的部分集成到操作系统中来,使其成为一个整体?推荐的方法是,将各个独立的部分做成XPE组件,在开发阶段进行集成;通常该工作可以分成五个阶段:

? ? 确定组件使用的资源以及设置

? ? 在Component Designer中配置组件的资源和设置选项

? ? 创建一个Repository,将该组件使用的文件加入到该Repository中

? ? 保存该组件的配置信息

? ? 将该组件导入到Component Database Manager中



下面我们就以一个实际的例子来说明,为TweakUI Control Panel

程序创建一个XPE组件。

? ? 打开Component Designer。

? ? 选择File\\Import菜单,将浏览的文件类型设置为Setup Information Files(*.inf)

? ? 选择“C:\\Program Files\\TweakUI\\TweakUI.inf”,并将其导入,Component Designer可以根据TweakUI.inf中的信息,自动生成一个组件。

? ? 需要为这个组件添加一个Repository,这个Repository实际上是一个系统目录,该目录中包含组件所需要的文件,每一个带有文件的组件都会对应一个或多个Repository,打开Component Designer中的Repositories文件夹。





点击右键,在弹出菜单中选择“Add Repository”,新建一个Repository。

在该Repository的Name属性中填入Tweak UI Files

点击Source Path栏中的Browse按钮,找到C:\\Program Files\\TweakUI。





在Component Designer中选中TweakUI.inf组件





在该组件的属性栏中,按下Repository按钮

在弹出的Select Repository对话框中,选择Tweak UI Files项目,确定。





最后,选中tweakui.inf组件,在右边的属性设置面板中将该组件的名字改为Tweak UI Control Panel Applet。

选择File/Save as,保存为"C:\\XPE_Demo\\TweakUI.SLD",关闭Component Designer。

到此已经完成了TweakUI组件的创建;同前面创建的硬件信息组件一样,要在Targert Designer中使用这个组件,必须先将其导入到组件数据库中。

打开Component Database Manager,

Import这个TweakUI组件:找到"C:\\XPE_Demo\\TweakUI.sld"并导入

导入完成后,关闭Component Database Manager



打开Target Designer

打开刚才创建的配置DemoPlatform

确认Demo Platform Component 组件和Tweak UI Control Panel Applet组件都在Target Designer的组件浏览器中。





与其他组件不同,利用Target Analyzer的输出文件Devices.pmq生成的组件是一个宏组件,宏组件本身不具备什么功能,仅仅是带有与其他组件的关联关系;前面我们开发了一个名为“Demo Platform Component”的宏组件,利用该组件可以方便的为初始化配置添加硬件支持。





构造XPE 系统影像文件

到此我们已经完成的硬件信息的分析并开发了一个硬件信息组件,开发了一个应用程序的组件,另外还建立了初始化的配置。在本节中我们来完成一个完整配置的开发工作。

打开Target Designer

第一个需要添加的组件是由Devices.pmq文件产生的宏组件Demo Platform Component,加入了这个组件,就把硬件信息全部添加到配置中;只要在Target Designer左侧的组件浏览器面板中双击该组件就可以添加该组件到配置中。

在组件浏览器中,找到Demo Platform Component组件,将该组件加入配置中。

如果没有找到该组件,可以在查找栏中输入它的名字进行检索。





在Target Desinger中包含了一万一千多个组件,怎样找到自己需要的组件呢?下面我们来讨论一下组件浏览器中的过滤器。

可以通过过滤的方法找到一个组件或一组相关的组件,Windows XP Embedded开发包内包含的大量组件可以通过过滤器方便地进行查找。

点击在组件浏览器上面的Filter按钮,创建一个新的过滤器

在Filter Manager对话框中,按New按钮

在Name栏填入TweakUI

在过滤规则描述栏中,双击过滤规则“Component Display Name Contains[Sybstring]”,在出现的Filter Editor对话框中,输入TweakK





按下OK关闭过滤编辑器

在Filter Manager中,Avalable Filter List栏中应该显示Tweak

选择Tweak过滤器,并按下Apply Filter按钮





在组件浏览器中,会仅仅显示Tweak UI Control Panel Applet组件

将该组件加入到配置中

将过滤器恢复到All Conponents显示状态,显示所有的组件



下一步,将向配置中添加Design Template组件,这个设计模板组件也是个宏组件,并且与Demo Platform Component 组件非常类似;所谓宏组件是指一个仅仅包含组件关联信息的组件,而没有其他功能。例如可以将与TCP/IP协议有关的20个组件都与一个名为TCP/IP的宏组件关联,通过添加这个TCP/IP宏组件,可以一次添加那20个组件。

向配置中添加组件的方法有很多,可以单个组件逐一添加;可以添加宏组件;也可以通过Target Designer的关联性检查功能自动添加组件。

Windows XP Embedded提供了若干的模板组件,从单一的软件功能如TCP/IP、DerictX8.0到整个系统模板如机顶盒模板、POS机模板都有,可以根据实际应用考虑使用其中一个。

加入Windows-based Terminal Professional组件,这个组件可以在Design Templates文件夹中找到。在配置面板中,扩展这个组件,并选中Settings,右边的属性面板会显示该宏组件中主要的组件模块。



下一步工作是要向配置中添加其他必须的核心组件,在这个例子中,你的文件系统是FAT格式,所以需要添加FAT组件

1. 1. 可以在Software\\System\\Storage and File Systems\\Infrastructure\\File Systems路径下找到FAT组件

2. 2. 再加入Fat format组件,该组件在Software\\System\\Storage and File Systems\\Applications路径下

3. 3. 加入Explore Shell组件,该组件在Software\\System\\User Interface\\Shells路径下

4. 4. 加入NT Loader组件,该组件在Software|System\\System Services\\Base.路径下



最后,进行关联性检查,确保所有的必要组件都已经添加到配置中。

在Configuration菜单中,选择Check Dependencies进行组件关联性检查,所有宏组件的关联组件以及缺少的组件都会自动添加到配置中。



关联性检查结束后,会提示一个错误:

Component: "Regional and Language Options [Version 5.1.2600, R620]" requires at least one additional enabled component not in the configuration.

Target Designer不能通过自动添加组件解决这个错误,因为有多个组件可以选择,所以Target Designer会将可以选择的组件列出,由开发者自己决定添加哪一个组件。

选择Target Designer底部的Tasks栏





双击上面的条目,Target Designer会显示一个提示,要开发者从多个可选的组件中挑选需要的组件。

在本例子中,选择English Language Support组件,按下Add按钮,尽管其他语言也列出了,但并不是必须的。





开始菜单选项

在关联性检查阶段,User Interface Core组件会被自动添加到配置中,因为其他开发者选中的组件需要该组件的支持;如果需要在Image的开始菜单中包含需要的菜单,则要设置该组件的选项。

选择的开始菜单选项:

? ? Show Control Panel on Start Menu

? ? Show My Computer on Start Menu

不要选择的开始菜单项:

? ? Prohibit Access to Hot Keys

? ? Prohibit Access to Control Panel





最后再进行一次关联性检查。





构造及测试运行时IMAGE

在Configuration菜单中,选中Build Target Image… 菜单项,出现Build对话框

在Destination栏中,添入一个保存Image的空目录,例如在C:\\Windows Embedded Images目录下,建立一个新的空目录Test Configuration





log文件应保存在另外的目录中,不要与Image在同一目录

按下Build按钮,Target Designer会完成Image的构建;完成后,在指定目录下会生成如下的文件和目录集合





如果在运行了关联性检查之后,对配置进行了改变,构建Image时,Target Designer会提示开发者再做一次关联性检查。

构件完成后,会显示如下的提示框:





在上面的例子中,请注意提示No Errors,但有两个Warnings,第一个Warning出现是因为在配置中没有输入PID号码,不输入PID号码构造出来的Image是个限时评估版的;第二个Warning出现是因为Tweak UI 组件被包含进配置,但该组件不是Released版本组件,当然对Image本身没什么影响。

构造完成后,关闭该对话框。



将以上Image文件目录中的目录和文件拷贝到D盘的根目录下,因为文件目录必须和前面配置属性中的设定相匹配,拷贝完成后,得到下面图示的目录:

保存配置信息,选择File菜单的Save菜单项。

关闭Target Designer

重启机器



测试XPE系统

在重启过程中,会提示两个启动选项,运行Windows XP Professional, 或者运行 Windows XP Embedded. 择Windows XP Embedded。

启动选项使用C:\\Boot.ini控制的,在前面我们已经在Boot.ini中添加了如下段落:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\\WINNT

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS="Microsoft Windows XP Professional" /fastdetect

multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS="Microsoft Windows XP Embedded" /fastdetect



当XPE正常运行后,可以查看在该系统中是否包含了我们需要的功能,以此来检验我们的工作。

打开Control Panel,查看其中是否包含了Tweak UI Control Applet选项。





运行Tweak UI控制面板程序,可以看到下面的对话框:





到此,我们完成了整个开发过程。
回复

使用道具 举报

3#
 楼主| 发表于 2006-8-25 12:19:47 | 只看该作者
在线等高人指点。。。。。。。。。。。

非常感谢。。。。。
回复

使用道具 举报

4#
发表于 2006-8-25 12:39:49 | 只看该作者
你的D盘是Partition2吗?
default=multi(0)disk(0)rdisk(0)partition(1)\\WINNT 这一行有问题吧。。。
D:\WINDOWS\system32下有hal.dll么?
回复

使用道具 举报

5#
 楼主| 发表于 2006-8-25 13:02:31 | 只看该作者
D盘是Partition2 !
default=multi(0)disk(0)rdisk(0)partition(1) , 双系统启动, 这样配置是正确的吧。

D:\WINDOWS\system32下有hal.dll , 我确定。

我QQ 491537988

请问能详细指点一下吗?
回复

使用道具 举报

6#
发表于 2006-8-28 09:07:04 | 只看该作者
工作忙啊

是不是Boot.ini的问题哦
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
另外把双斜杠改成单斜杠试一试
回复

使用道具 举报

7#
 楼主| 发表于 2006-8-29 10:38:19 | 只看该作者
已经解决了,是开发过程中出问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-12 07:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表