MyException - 我的异常网
当前位置:我的异常网» 嵌入开发 » 初试 Windows XP Embedded 系统开发一

初试 Windows XP Embedded 系统开发一

www.MyException.Cn  网友分享于:2015-08-26  浏览:0次
初试 Windows XP Embedded 系统开发1

目前 Windows PE(Preinstallation Environment)和 Windows XP Embedded 是可以脱离主机里的硬盘独立运行的 Windows 操作系统,Windows PE 多用于光盘启动,Windows Embedded 从 Feature Pack 2007 之后已经支持从 USB 设备(移动硬盘、Flash U 盘)运行。
  从基础开始,菜鸟也可以开发出一个在 USB 移动硬盘上运行的操作系统。

一、Windows Embedded 开发资源简介

  Windows Embedded 是微软针对嵌入式领域推出的操作系统,目前主要包括三大产品:Windows Embedded CE、XP Embedded 和 .NET Micro Framework 等。

  1、Windows Embedded CE:Windows CE 主要应用于手持设备、机顶盒、GPS 和移动播放器等嵌入式设备中。它可以适应多种 CPU,比如 ARM、MIPS、SH4、x86 等等。目前手机上流行的 Windows Mobile 智能系统也是基于 Windows Embedded CE 开发出来的操作系统平台。
  2、Windows XP Embedded:Windows XP Embedded 是基于 Windows XP Professional 的组件化操作系统,适应嵌入式设备对不同功能及存储空间的要求。XP Embedded 只能运行在 x86 的 CPU 平台上,能够和 Windows 应用程序做到完全兼容。主要用于 ATM(Automatic Teller Machine)、POS(Point Of Sales)、电子信息亭等设备。Windows Embedded for Point of Service 是在 XP Embedded 的基础上开发的专门针对POS系统的操作系统,无需复杂的定制就可以直接应用于 POS 系统中。
  3、.NET Micro Framework:应用于便携式的个人数字化产品中的 .NET 平台,允许 .NET 托管代码运行在 ARM 等嵌入式平台上。
  4、Microsoft Robotics Studio:微软针对机器人领域开发的控制系统和开发工具, 可以使用可视化编程语言(Visual Programming Language/VPL)或者 .NET 托管语言来编写机器人的控制指令。可以支持多种不同的机器人硬件平台。

二、如何获得 Windows Embedded Standard 2009 试用版本

 

  Windows Embedded Standard 取代了原来的 Windows XP Embedded,新版本的 Windows Embedded Standard 已经包括了 Service Pack 3 补丁包,同时加入了许多新组件:比如 Silverlight 1.0(目前 2.0 的正式版本已经发布,估计到正式版时会包含新版)、Internet Explorer 7.0(目前 Internet Explorer 8 仍处于 Beta2 阶段)、Windows Media Player 11、Remote Desktop Protocol 6.1、.NET Framework 3.0(目前 .NET Framework 的最新版本为 3.5)等等。

  在微软的官方网站可以下载到 Windows Embedded Standard 2009 Evaluation Edition(试用版本),试用的时间为 120 天。整个系统分成了七个压缩包(点此打开下载页面),刚好一张 DVD-5 大小(4.3GB),下载后运行 WES2009Eval.par1.exe 自动进行解压,并将解压缩后的 WES2009Eval.iso 镜像文件刻盘或者虚拟成光盘进行安装。


三、安装 Windows Embedded Standard 2009

  1、安装前首先下载安装 SQL Server 2005 Express Edition 中文版
  SQL Server 是必须的组件,它用来保存系统的组件数据库,在进行系统开发的时候调用数据库来进行配置。Windows Embedded Standard 光盘中虽然已经带有英文版的 SQL Server,但为了方便阅读和配置,推荐下载中文版(下载地址)。


  2、开始安装 Windows Embedded Standard
  放入 Windows Embedded Standard 光盘,自动运行 Setup.exe 程序。左边的 Prepair 是安装前的准备,用户也可以先点击 Review the Installation Guide 来详细阅读安装向导。选择左边的“Install”进行安装。


  接下来的画面将会提示用户输入产品序列号,试用版本的用户可以输入 Q4C4J-YQD84-CRVXB-B4JVW-WKP3Y 进行安装。

  点击 Next 来到下一步,进行安装组件的选择,IE7 With Media Player 11 是最新的组件,一般选择安装,MUI 是多语言用户界面,一般选择常用的 Chinese Simplified(简体中文)和 Chinese Traditional(繁体中文)或者 Japanese (日本语);Remote Boot Serivce 是远程启动组件,适用于无盘工作站和从网络启动。


  点击 Next 将显示出将要被安装到电脑里的组件。


  点击 Install 后,安装程序进行安装,接下来用户须要做的就是漫长的等待。在安装过程中 CPU 的占用率不高,但会消耗大量的内存,内存使用峰值将达到 1300MB 左右。安装完成后占用的总硬盘空间为 6GB。

四、初试 Windows Embedded Standard 开发

  安装完成后的程序会在开始菜单生成如下的快捷方式,除了 Documentation 里的两个帮助文档外,Component Designer 是组件设计器,用户可以用这个工具设计自定义的组件;Component Database Manager 是组件数据库管理器,用户可以使用这个工具将已经设计好的自定义组件导入组件数据库中,也可以对原有的组件数据进行管理;Target Designer 是主要的设计开发工具,一个完整的嵌入式系统将由它来生成。


  开发一个 Windows XP Enbedded 的过程如下:建立一个新配置——添加组件——设置组件属性——组件依赖性检查——生成镜像。

  在开始菜单中打开 Target Designer,首先要新建一个配置(Configuration):点击工具栏上的“新建”按钮,输入一个自定义的配置名(Configuration Name),比如“初试系统”。设计窗口的左侧是组件浏览器,分为硬件(Hardware)、软件(Software)、设计模板(Design Template)和 Embedded 系统特有的功能(Embedded Enabling Features),共 12018 个组件。用户可以彩用拖拽的方式来添加组件。右侧可以设置组件的属性。


  第一次使用,尝试创造一个没有任何组件的系统,来熟悉一下 Target Designer 的使用方法。直接按下工具栏上的 Check Dependencies 按钮或者按 F5 键,系统进行组件的依赖性检查,发现了一个错误:Base Conponent requires an addtitional enabled component not in the configuration(基本组件所需的一个额外的组件没有在配置里)。


  点击 Close 关闭后,错误将在输出栏里被显示出来。右击错误项选择 Action 来处理错误,在弹出的窗口里列出了缺少的组件,选择一个 ACPI Uniprocessor PC,最后点击 Add 按钮添加。注意,列出来的组件并不能全部添加,否则会产生冲突,比如 ACPI Multiprocessor PC 和 ACPI Uniprocessor PC 二者就只能选择其一。当然,这些冲突在进行依赖性检查的时候都会被提示错误。


 再次进行依赖性检查,仍然会发现有三个错误,照前面的方法一一进行处理,直到依赖性检查没有再出现错误为止。  Windows 系统里,组件依赖于另一个组件的情况是非常常见的,相依赖的组件必须添加完整。就比如系统里的服务,一些服务必须领依赖于另一个服务于能运行,Remote Procedure CallRPC)服务是核心服务,它被依赖的情况是最多的。

 

  经过数次的依赖性检查和组件添加,解决了所有的错误后,一个最精简的系统就已经基本形成了,组件的总数量为98 个(某些组件在进行依赖性检查的时候自动被添加),总大小约为105 MB。点击工具栏上的Save 按钮保存配置为一个后缀为SLX 的文件,比如Creatives.sld。

 

  接下来要做的是要为系统添加必要的驱动程序组件。在Windows Embedded Standard 的安装路径C:\Program Files\Windows Embedded\Utilities 文件夹里有几个小工具,其中 tap.exe 是目标机器分析工具,双击运行就会自动对机器进行分析,分析的结果保存在一个devices.pmq 文件里。注意:假如生成后的 Windows XP Embedded 系统不是在本机上运行,则应该把 tap.exe 文件复制到将来运行 Windows XP Embedded 的机器上进行分析。

 

  运行开始菜单里的Component Designer,点击File 菜单选择Import 来导入刚才生成的devices.pmq 文件,这里须要耐心地等待一小段时间。

 

  完成导入后,点击工具栏上的Save 按钮将组件保存成一个后缀为SLD 的文件,比如Creatives.sld。单击Tools 菜单选择Component Database Manager 打开组件数据库管理器,点击Import 按钮将Creatives.sld 导入数据库。

 

  再次Target Designer 打开配置文件,这时左侧的组件浏览器里可以看到刚才已经添加进组件数据库里的Devices 组件。把Devices 组件添加进配置文件。至此,一个完整的系统就开发完成了。

  最后就是生成系统镜像了。点击工具栏上的Build Image 或者按F7 键,在弹出对话框的Destination 中选择输出文件的路径,点击Build 按钮。过程完成后,生成了引导文件(NTLDR、boot.ini、NTDETECT)和 Windows 目录。

五、Windows XP Embedded 系统上机试验

  开发好了系统,当然要上机试验了,图个方便,选择了VMware Workstation 虚拟机进行,版本为6.0.3.80004。设置好虚拟机后,用光盘启动虚拟机到DOS 环境,将虚拟机的硬盘格式化并设置活动分区(引导分区)。

  WindowsEmbedded Standard 带有一个BOOTPREP.EXE 的工具(安装在C:\Program files\Windows Embedded\Utilities 文件夹),将它复制到虚拟机的 C 盘上运行,它可以自动为 Windows XP Embedded 设置 MBR(MasterBoot Record/主引导扇区)。

 

  主引导扇区设置完成后,将刚才生成镜像时产生的所有文件直接复制到虚拟机C 根目录里,重新启动虚拟机,由虚拟机的硬盘进行引导。如果引导成功,WindowsXP 的启动画面将呈现。在第一次启动时,WindowsXP Embedded 将会执行FBA (First BootAgent/初次启动代理),它的功能是执一系列组件的安装和注册、设置等,可以看作是相当简化了的系统安装过程。随着FBA 的一系列任务执行完成,WindowsEmbedded Standard 登录窗口终于出现了。

 

  使用用户Administrator 登录进去后,用户会发现这个系统有一个核心在在运行,但是却是什么界面、程序也没有的,因为很多实用的组件还没有被添加。12018个组件具体是哪些功能呢,全部弄清楚就要花上一定的时间了。

嵌入式系统是由许多组件组成的,其开发的过程就是要根据实际需要来进行组件的定制,所以就必须清楚地认识每一个系统的组件和功能。在上一篇文章里,简单地介绍了 WindowsEmbedded Standard,包括:WindowsEmbedded Standard 的下载和安装过程以及用Windows Embedded Studio 的几个工具生成了一个精简的Windows XP Embedded 并在VMware Workstation 上试机成功。接下来要制认识一下系统里的组件。

五、Windows Embedded Standard 的常用组件及说明

  组件位置:Software\System\Accessibility\Applications
    Accessibility Control Panel辅助功能选项控制面板
    Accessibility Wizard辅助功能向导(附件—辅助工具—辅助功能向导)
    Magnifier放大镜(附件—辅助工具—放大镜)
    On-screen Keyboard屏幕键盘(附件—辅助工具—屏幕键盘)
    Serial Input Support序列输入支持
    Utility Manager辅助工具管理器(附件—辅助工具—辅助工具管理器)
  组件位置:Software\System\Accessibility\Infrastructure
    Accessibility Core辅助功能核心

  组件位置:Software\System\management\Applications
    Alerter Services警告服务(系统服务)
    Driver Query驱动程序访问(显示和访问、设置设备驱动程序的属性)
    Error Reporting错误报告(系统服务)
    Event Log事件记录日志(系统服务)
    EWF Manager Console ApplicationEWF管理器控制台程序
    Microsoft Management ConsoleMMC):管理控制台
    Microsoft Management Console .NET 2.0 Plugin Extension管理控制台 .NET 扩展
    MS Config Support Utility系统配置实用程序
    Power Management Application电源管理程序(控制面板—电源选项)
    Remote Assistance Channel远程助手通道
    Save Dump保存转储信息
    System Restore User Interface系统还原用户界面
    Telnet Client/Server/Server Administration远程登录客户端/服务器端/服务器端管理
    Windows Installer SerivceWindows安装服务
    Windows Update AgentWindows 更新代理
    Windows Update for Device DriversWindows驱动程序更新
    WMI Command Line UtilityWMI命令行工具
  组件位置:Software\System\Management\Infrastructure
    Device Update Agent驱动程序更新代理
    Group Policy Client Core组策略客户端核心
    Group Policy Core - Support File组策略核心 - 支持文件
    Group Policy Core Administration MMC Snap-In组策略核心管理 MMC 插件
    Group Policy Refresh Utility组策略刷新工具
    Local Profile Core本地配置文件核心
    Netmeeting互联网视频会议
    Remote HTTP Client远程HTTP 客户端
    Software Installation Group Policy Extension软件安装组策略扩展
    Software Installation Group Policy MMC Snap-In软件安装组策略 MMC 插件
    System Restore Core系统还原核心
    Windows Management Instrumentation TechnologiesWMI技术
    Windows Update AgentWindows 更新代理
    Windows Update for Device DriversWindows驱动程序更新
    WMI CoreWMI 核心

  组件位置:Software\System\International
    Regional and Lanuage Options区域和语言选项(控制面板—区域和语言选项)
  组件位置:Software\System\International\Applications
    Full Screen Graphics Mode全屏幕图形模式
  组件位置:Software\System\International\Infrastructure
    Chinese - Simplified Language Support简体中文语言支持
    Chinese - Traditional Language Support繁体中文语言支持
    Code Page xxxx代码页
    English Language Support英语语言支持
    Japanese Language Support日语语言支持
    Keyboard区域键盘
    NLS:Core Files国家语言支持核心文件
    NLS:Time Zones时区
    User Locale用户区域

  组件位置:Software\System\Multimedia & Graphics
    Analog Television Support模拟电视支持
    Digital TV Support数字电视支持
    Digital Video Recording数字视频录制
    DirectX 9.0cDirectX 组件
    DVD PlaybackDVD 回放
    Kernel Audio Support核心音频支持
    Legacy and Play and Play Audio Support传统及即插即用音频支持
    Primitive:wmvcore2WMV 核心组件
    Stream Buffer Engine流媒体缓冲引擎
    Windows Media Playerlight):WindowsMedia Player 简化版
    Windows Media Player TechnologiesWMP技术
  组件位置:Software\System\Multimedia & Graphics\Applications
    Audio Control Panel音频控制面板(控制面板—声音和音频设备)
    DirectX Diagnostic UtilityDirectX诊断工具
    Media Files媒体文件
    Shockwave FlashFLASH SWF 文件支持
    Sound Recorder录音机(附件—娱乐—录音机)
    Windows Media Format Runtime 11WindowsMedia 11 运行期
    Windows Media Player 11WindowsMedia Player 11.0
    Windows Media Player 11 PlaylistsWMP11 播放列表
    Windows Media Player 11 SkinsWMP11 皮肤
    Windows Media Player 6.4WindowsMedia Player 6.4
    Windows Movie MakerWindows Movie Maker 2.6
    XP Sound SchemeXP 声音方案
  组件位置:Software\System\Multimedia & Graphics\Infrastructure
    1394 AV/C Protocol Provider1394AV/C 协议提供
    Acm Core CodecsACM 核心编码
    Analog TV模拟电视
    Audio/Video Core音频/视频核心
    Audio Volume Control音量控制(附件—娱乐—音量控制)
    Digital TV数字电视
    Microsoft Audio Compression ManagerMME Core):音频压缩管理器
    Multimedia Application Compatibility多媒体应用程序兼容性
    OpenGL SupportOpenGL 支持
    Stream Buffer Engine流媒体缓冲引擎
    Teletext Decoding电视广播解码
    Video For Windows CoreVFW核心
    Windows Imaging ComponentWIC):Windows 映像组件

 


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

文章评论

60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员必看的十大电影
程序员必看的十大电影
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
如何成为一名黑客
如何成为一名黑客
那些争议最大的编程观点
那些争议最大的编程观点
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员都该阅读的书
程序员都该阅读的书
10个调试和排错的小建议
10个调试和排错的小建议
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员应该关注的一些事儿
程序员应该关注的一些事儿
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
每天工作4小时的程序员
每天工作4小时的程序员
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
中美印日四国程序员比较
中美印日四国程序员比较
 程序员的样子
程序员的样子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
编程语言是女人
编程语言是女人
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
一个程序员的时间管理
一个程序员的时间管理
代码女神横空出世
代码女神横空出世
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
程序员和编码员之间的区别
程序员和编码员之间的区别
我的丈夫是个程序员
我的丈夫是个程序员
我是如何打败拖延症的
我是如何打败拖延症的
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
漫画:程序员的工作
漫画:程序员的工作
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
老程序员的下场
老程序员的下场
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有