Windows XP Embedded组件开发详解

开发
本帖将以Penmount串口触摸屏为例,演示和说明如何把该设备的驱动制作成一个可以集成在XPE开发环境下的一个设备组件。

Windows XP Embedded 中的组件开发通常分为以下几类:
1. 设备驱动程序组件开发;
2. 应用程序组件开发;
3. 自定义壳程序组件开发;
4. 其他组件开发;

    本帖将以Penmount串口触摸屏为例,演示和说明如何把该设备的驱动制作成一个可以集成在XPE开发环境下的一个设备组件。制作该驱动的主要步骤有以下五步:

1. 设备驱动的正确安装:
2. 设备驱动备份:
3. 导入设备驱动文件;
4. 设置和发布该组件;
5. 添加到XPE镜像文件中;

需要准备的软件:

  • Windows优化大师或者智能驱动备份软件;
  • Penmount串口触摸屏驱动文件;
  • Windows XP Embedded 组件设计器(Component Designer);

下面详细说明该组件的开发步骤:

1. 设备驱动的正确安装:

    首先在目标机上安装好Penmount串口触摸屏驱动文件,该文件是以Setup.exe方式进行安装的,如下图所示:

    按照默认设置安装好触摸屏驱动程序,这时,就可以通过开始菜单进行触摸屏的校准,同时用手点击触摸屏可以感觉到鼠标的移动。如下图所示:

    注意,如果触摸屏驱动提供了.inf文件的安装方式,则可通过在设备管理器中进行驱动程序的安装,如能安装成功,第二步可以略过;

2. 设备驱动备份:

    通过Windows优化大师或者智能驱动备份,将目标机中的Penmount串口触摸屏驱动文件备份出来,如下图所示:

    注意:除了备份设备驱动配置文件(PenMount.inf),还需要把inf需要的相关驱动文件(.sys, .dll)备份出来,同时把需要的辅助应用程序也备份出来。

3. 导入设备驱动文件;

    将备份出来的设备驱动文件整理在一个文件夹中,把该文件夹从目标机拷贝到开发机上,同时打开组件设计器(Component Designer),如下图所示:

    通过菜单File->Import..导入备份出来的PenMount.inf驱动配置文件,如下图所示:

    导入完成后,观察导入日志,出现红色错误信息 的需要把问题排除,重新导入,一般问题出现主要有三个方面:

(1) 备份出来的驱动文件中,缺少inf文件中需要的某些驱动文件(.sys, .dll),根据提示的信息,在目标机上进行查找,把缺少的文件拷贝到备份的文件夹中再进行导入;

(2) 备份出来的驱动文件中,缺少inf文件中需要的其他驱动文件(.inf),如下图:

 

    根据提示的信息,在目标机上进行查找,把缺少的驱动文件拷贝到备份的文件夹中再进行导入;

(3) 注册表信息错误,XPE中没有目标机上具有的注册表键值,根据提示的信息,手动的在组件中创建相应的注册表文件夹及键值;

    注意:出现的黄色叹号警告信息可以忽略,不会影响组件的功能;

4. 设置和发布该组件;

(1) 导入inf文件成功后,为了便于区分,首先将组件的名称更改为PenMount USB,如下图所示:

(2)   设置该组件的源文件路径,鼠标右键点击Repositories节点,选择Add Repository,在Repository Properties中设置组件仓库的名称(Penmount Files)及源文件所在的路径。如下图所示:

(3)   设置完成后,在Component Properties上设置组件的Repository为刚才新建的组件仓库。如下图所示:

(4)   设置组件路径和分类,点击组件下Group Memberships节点,设置组件所属的分类路径,如下图所示:

    该设置代表了该组件在目标设机器中的组件树中的位置,例如该组件的位置在:Hardware->Devices->Human Interface Devices节点下。 

(5) 设置组件需要的文件及安装在目标机下的目录路径,点击组件下的Files节点,可以看到驱动文件已经存在于该节点下,并默认的设置了在目标机上的安装目录。如果我们需要手动的添加相关的文件,例如触摸屏校准程序等辅助应用程序,则需要手动进行添加并设置目标机上所在的路径。如下图所示,在列表空白处点击鼠标右键,选择探出菜单中的Add->Files进行文件添加:

    在弹出的窗体中选择需要添加的文件和安装在目标机上的路径,如下图所示:

(6)   如果驱动需要相关的注册表信息支持,则需要手动添加注册表信息,选择组件下的Registry Data节点,在列表的空白处点击鼠标右键,然后选择Add->Registry Data,如下图所示:

    注意:添加注册表键值的时候,同时要添加这个键值所在的注册表目录,否则键值添加将会失败;

(7)   组件下的Component or Group Dependency一项主要用来设置该组件需要依赖或关联的其他组件支持,例如,该触摸屏为USB接口,则需要相关的USB驱动支持,如下图所示:

(8)   完成组件相关的设置后,鼠标点选组件名称,使焦点停留在该组件的名称上,然后通过菜单Edit->Release Component来发布该组件。如下图所示:

(9)   发布完成后,该组件相关属性则变灰不可更改。点击菜单中Files->Save保存组件,如下图:

(10)   完成组件的开发后,最后需要将该组件导入到组件数据库中,导入方法为点击菜单Tools-> Component Database Manager,打开组件数据库管理器,选择Import按钮,如下图所示:

(11)   在弹出的界面中选择第(9)步中保存的组件路径,然后点击Import进行导入。导入成功后会出现如下图的提示信息:

    如果导入失败,首先观察导入日志中提示的错误信息,其次检查:

  • 数据库引擎是否打开;
  • 开发机是否接入局域网,是否能够ping通本机;
  • \\本机名或本机IP\Repositories是否能够正常访问;
  • Repositories目录是否设置为可写入共享;
  • 组件的Repositories路径是否设置正确;

5. 添加到XPE镜像文件中

    在导入组件成功后,打开目标设计器(Target Designer),查找你导入的组件(PenMount USB),你将可以在Hardware->Devices->Human Interface Devices节点下找到这个组件,同时双击该组件,就可以把它添加到你的XPE工程中去了。如下图所示:

    至此,关于设备驱动组件的开发介绍基本完成,选择PenMount触摸屏作为这个教程的用例是因为该驱动组件具有一定的代表性,当然,在实际开发工作中还有很多的问题,需要我们具体问题具体分析。

【编辑推荐】

  1. 在VMWare环境中调试Windows XP Embedded
  2. 如何大规模的部署和生产XPE操作系统映像
  3. 在构建好XPE操作系统上增加EWF功能
责任编辑:book05 来源: 搜狐博客
相关推荐

2009-03-19 11:02:47

Windows Emb

2009-03-30 15:52:24

Windows Emb

2009-03-30 15:52:24

Windows Emb

2009-04-03 13:09:12

Windows Emb

2009-03-24 09:14:20

Windows Emb

2009-07-17 13:47:46

Windows Emb

2010-05-07 15:38:29

Windows Emb

2010-03-19 12:42:43

Windows Emb

2009-04-10 09:06:16

Windows Emb

2009-10-26 15:36:56

Windows Emb

2010-12-14 18:56:12

微软

2009-07-16 14:22:02

Windows Emb

2009-07-16 15:46:09

Windows Emb

2011-04-22 19:29:57

Windows Emb嵌入式开发

2011-04-25 19:15:16

2019-04-10 11:50:00

微软Windows XPWindows 10

2009-05-28 14:11:05

Windows Emb

2009-07-16 15:13:17

Windows Emb

2011-04-19 18:48:25

Windows Emb开发工具嵌入式

2009-11-02 17:36:01

Windows Emb
点赞
收藏

51CTO技术栈公众号