ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
概述
对于一种开发工具的学习,最重要也最困难的阶段就是概念的建立,只要建立了正确的概念,明白整个系统的体系结构和各种工具作用,剩下的工作就是实际操作,积累经验了,最多不过在需要的时候查一查手册。
本文通过指导读者进行实际操作,一步步地完成一次完整的开发工作,从而帮助读者建立一个清晰明确的概念。
因为我们开发的产品不是普通的软件,而是专用的操作系统,所以需要针对某个特定的硬件平台(目标机)来进行开发;首先需要一个强大的工作站来运行开发环境和开发工具,然后根据目标机硬件配置和软件需求进行开发,开发完成后将做好的操作系统影象文件(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控制面板程序,可以看到下面的对话框:
到此,我们完成了整个开发过程。
开发XP Embedded Bootable CD
1.准备工作
首先做一些硬件方面的准备:至少需要一台刻录机和两块硬盘。第一块硬盘就是操作系统所在的硬盘,对分区没有什么特殊要求,但操作系统必须是Windows 2000/XP/Server 2003。第二块硬盘是制作光盘的关键,此盘中的分区数量不得大于4个,并且要保留至少8MB未分区空间,第一个分区为主分区,分区格式为FAT16,容量必须小于一张光盘的容量(650MB或700MB),根据我们这次讲解的内容计算,分成300MB即可。所有分区工作都可在Windows中完成,这里不再赘述,分完区千万不要忘记激活第二块硬盘的主分区(下文中称该主分区为“目标区”,第二块硬盘为“目标盘”,第一块硬盘为“系统盘”)。
分好区后,将“C:\Program Files\Windows Embedded\utilities\”中的“BOOTPREP.exe”拷贝至目标区,由于这是一个16位程序,所以必须在DOS下运行。重启电脑,进入BIOS(一般是按“Del”键或“Ctrl+Alt+Esc”组合键),将系统盘设为“None”(当然,也可以关闭电脑,拆下系统盘),再设置首先从软盘或光盘启动(视你想用哪种方法启动而定),保存退出。使用Win98光盘或启动软盘引导至DOS界面下,输入“C:”,然后回车进入C盘,也就是目标区,再输入“BOOTPREP”并回车,按两次“Y”确认后,目标盘设置完成。
2.创建“EnableAutoLayout”组件并导入
①打开开始菜单中的“Component Designer”,在打开的程序界面中选择菜单“File”→“New”创建一个新的“sld”文件。
②展开窗口左侧的“Windows XP Embedded Client (x86)”目录,并在“Components”目录上单击右键,选择“Add Component”。
③在右侧新建窗口的“Name”区内输入一个名称,例如“EnableAutoLayout_Settings”(图3)。
④右键单击左侧窗口中的“Registry Data”,选择“Add”→“Registry Data”,在弹出的“Add Component Registry Resources”对话框中分别填写以下值(图4):
Root: HKEY_LOCAL_MACHINE
Key name: SOFTWARE\Microsoft\ Windows\CurrentVersion\OptimalLayout
value name: EnableAutoLayout
Type: REG_DWORD
value: 0
⑤选择“Default”单选框,按“OK”回到主窗口,选择“Flie”→“Save”保存为“EnableAutoLayout.sld”,下面将该文件导入数据库。
⑥在开始菜单中选择“Component Database Manager”,在“Database”标签窗口中选择“Import”(图5)。在弹出对话框的“SLD file”一栏中找到刚刚保存的“EnableAutoLayout.sld”文件。
⑦最后选择“Import”开始导入组件(图6),导完后关闭所有对话框。
3.创建“Target hardware device drivers”组件并导入
①进入目录:C:\Program Files\Windows Embedded\utilities\,执行“tap.exe”,很快便在同一目录中生成一个“devices.pmq”文件。
②在开始菜单中选择“Component Designer”,在弹出窗口中选择“Flie”→“Import”,导入“devices.pmq”文件(导入时间较长,图7)。
③导入完毕,选择窗口左侧的“Components”→“devices”,在右侧窗口的“Name”文本框中填写“My devices-hardware”(图8)。
④单击右侧窗口中“Prototype”栏旁的“Browse”按钮,在弹出窗口中选中“Software”→“Test&Development”→“Selector Prototype Component”(图9)。按“OK”回到主窗口,选择“Flie”→“Save”保存文件为“Mydevices.sld”。
⑤按第2步中的“⑥”和“⑦”两个步骤将“Mydevices.sld”导入到数据库。
4.创建El Torito实时运行镜像(El Torito run-time image)
①在开始菜单中选择“Target Designer”,在弹出窗口中选择“File”→“New”,命名为“My XP Embedded”后按“OK”(图10)。
②“Target Designer”的窗口共分为4部分,上面左侧窗口中显示所有组件的列表,先前导入的“Enable AutoLayout_Settings”和“My devices-hardware”组件就放在根目录下。中间窗口中显示新建的“My XP Embedded”系统的组件列表,此时还没有任何组件。右侧窗口则用于显示“My XP Embedded”系统组件的属性和设置窗口。下面的大窗口显示制作信息,有“Tasks”、“Messages”和“Debug”3个标签(图11)。
③双击左侧窗口中的“EnableAutoLayout”和“My devices-hardware”组件,将它们添加到中间的“My XP Embedded”窗口中。
④展开左侧窗口中的“Design Templates”,双击添加“Windows-based Terminal Professinal”组件,这个组件中包含了一个最小化XP Embedded所必需的基本组件。
⑤展开左侧窗口中的“Software”→“System”→“Storage & Flie System”→“Infrastructure”→“Flie Systems”,双击添加“FAT”组件。再展开左侧窗口中的“Software”→“System”→“Storage & Flie System”→“Applications”,双击添加“FAT format”组件。这一步是为实时运行镜像设置文件系统。
⑥展开左侧窗口中的“Software”→“System”→“System Services”→“Base”,双击添加“El Torito CD”、“EWF NTLDR”和“Enhanced Write Filter”组件。然后展开中间窗口中的“Enhanced Write Filter”组件,选择“Settings”,在右侧窗口中将“Start EWF Enabled”复选框中的对勾清除(图12)。
⑦展开左侧窗口中的“Software”→“System”→“User Interface”→“Shells”,双击添加“Explorer shell”组件。再展开“Windows Shells”子目录,双击添加“User Interface Core”组件,并在其“Settings”窗口中选中“Show Run on Start Menu”一项(图13)。
⑧展开左侧窗口中的“Software”→“System”→“Management”→“Applications”,双击添加“EWF Manager Console Application”组件。再展开“Software”→“System”→“International”→“Infrastructure”,双击添加“Chinese - Simplified Language Support”。
⑨至此添加组件工作完成,下面检验工作成果,选择菜单“Configuration”→“Check Dependencies”开始从属性检查(时间比较长),没有问题的话会报告“No errors or warnings”(图14)。下面就可以建立实时运行镜像了:选择“Configuration”→“Build Target Image”,在弹出窗口中设置镜像存放位置,然后按“Build”开始建立镜像(镜像大约需占用135MB硬盘空间,图15)。
⑩打开存放镜像的文件夹(默认为:D:\Windows Embedded Images\),将其下所有文件及目录拷贝至目标区。
5.建立pre-FBA CD
现在就可以用目标区中的文件创建光盘镜像了,用这个镜像刻录的CD被称作pre-FBA CD,它并不是我们最终需要的光盘,所以建议用CD-RW盘片刻录。
①进入目录:C:\Program Files\Windows Embedded\utilities\,执行“Hd2iso.exe”,这是一个32位的命令行程序,有类似“Fdisk”的文字菜单(图16)。
②按“
③按“
④按“
⑤按“
⑥按“
⑦按“
⑧用Nero Burning ROM或其他刻录软件将制作好的镜像刻到CD-RW盘片上,至此“pre-FBA CD”制作完毕。由于Windows无法识别这个镜像中的文件格式,所以查看光盘时内容空空如也,但322MB的容量可以显示出来。
6.引导硬盘上的El Torito Run-Time镜像
当pre-FBA CD制作完毕后,就可通过它引导目标硬盘上的El Torito Run-Time镜像了。关机卸下系统硬盘(在BIOS中关闭系统硬盘亦可),在BIOS中将启动方式设置为从光盘启动,并将pre-FBA CD放入CD-ROM驱动器中。系统首先从pre-FBA CD启动,加载相关信息之后,便把“权力”转让给硬盘中的镜像继续完成引导,这个引导过程中系统会不断从pre-FBA CD中读取信息,完成XP Embedded的配置,这个过程被称为First Boot Agent(FBA),要经过两次重启才能完成。另外,Enhanced Write Filter(EWF)也在这个阶段开始工作并创建一个临时配置分区(图23)。
进入XP Embedded界面后,需要确定EWF的状态,下面的操作均在XP Embedded系统内完成。
①确认所有EWF Volume的配置情况,在“开始”→“运行”中输入CMD并回车,调出命令提示符界面。然后键入“Ewfmgr.exe”,如果EWF Volume配置正确,则会显示EWF Volume的情况。
②确认C分区是否为受EWF保护的分区,在“命令提示符”界面中输入“Ewfmgr C:”,如果配置正确,则会显示Protected Volume的信息。
④选择“开始”→“程序”→“Windows 资源管理器”。查看你的系统中是否包括磁盘“El Torito CD”(实际上就是光驱中的pre-FBA CD,不过它在XP Embedded中被当作卷名为“El Torito CD”的磁盘)和目标区。
⑤如果上述检查都正常,那么你就可以对这个El Torito Run-Time镜像进行更多的定制了,如增加应用程序等,增加软件的方法和在WinXP中安装软件的方法一样,很简单吧?
7.运行“Etprep.exe”
制作最终的系统光盘前还需要执行程序“Etprep.exe”,这个工具执行如下任务:删除目标盘上在FBA过程中建立的EWF配置分区;交换“El Torito CD”磁盘和目标区的驱动器符号,这一步过后,就无法通过目标区中的“El Torito Run-Time”镜像启动了。
①调出“命令提示符”界面,进入“\Windows\system
②如果操作成功会显示如下文字:
Deleted EWFpartitions = 1.
Swapped ElTorito volume drive E: with Boot volume C: .
③在执行“Etprep.exe”后,系统会自动重启,由于目标区已经无法引导系统,所以重启后手动关闭计算机。如果没有自动重启,手动关闭机器即可。
8.制作最终的XP Embedded Bootable CD
现在可以制作最终的系统光盘了。这个过程与制作pre-FBA CD的过程一模一样,请按“5.”中所述步骤制作最终的光盘镜像。在刻录成CD前,最好使用虚拟PC软件测试一下这个镜像,但要注意只有VMware的虚拟PC软件能正确使用此镜像,微软的“Virtual PC”反而不行,是不是有点讽刺(图24)?进入系统后,查看系统属性,有“嵌入式”的字样,版本为“2002”
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号