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 |
泰克 示波器 |
通常我们在创建Windows Embedded Standard组件的时候都会使用Component Designer生成sld文件,然后由Component Database Manager导入到组件数据库,在一个Windows Embedded Standard项目中,可能有多个组件,包括utilitie组件,driver组件,和shell组件,当数量和版本的规模庞大到一定程度的时候,管理,分发这些组件的时候并不是非常方便。其实有一个很好的方式,可以把组件制作成安装程序的方式,并且还可以配置相应的约束条件,更有利于管理和分发。同时,把这些高品质的组件分享给其他开发人员更可以完善Windows Embedded Standard的生态环境。
下面由最简单的部分开始。我们先需要创建一个Windows Embedded Standard驱动程序的组件。我选择的驱动程序是FUJITSU U1010的Realtek ALC262声音控制器的驱动程序,Realtek的声音控制器广泛的应用在各种桌面计算机和移动计算机上。
开始之前,我们需要创建相应的文件夹结构。我个人习惯在C根目录下面创建Components文件夹,来容纳半成品组件。当然可以根据需要来选择自己喜欢的名字。在Components文件夹下面,创建ALC262文件夹,在ALC262文件夹下,分别创建doc,rep,sld三个文件。doc用于安放相应的说明,例如安装和组件说明,卸载的说明,和授权协议等。一个高品质的组件,文档是很重要的。
准备工作已经完成,现在可以开始组件的创建过程:
作为一个驱动程序的组件,首先,要导入相应的inf文件。打开Component Designer,File|Import...可以找到用于导入的对话框。在Realtek驱动程序的文件夹下,我们发现多个inf文件,哪个才是合适的呢?通常有两种方式来选,第一种方法,如果这个设备安装过Windows XP,X:\Windows\inf\下会有名为oem1.inf,oem2.inf,ome3.inf......其中一定有一个Realtek的inf,这个inf就是我们需要的。第二种方法,打开tap生成的devices.pmq文件,会对硬件做详细的描述:HDAUDIO\FUNC_01&VEN_10EC&DEV_0262,HDAUDIO为设备所在总线,DEV_0262为
设备ID。驱动程序中包含DEV_0262的inf文件就是我们需要的。
导入完成,已经生成了相应的sld文件,我们还需要对其加以完善。可以看到Realtek High Definition Audio已经在Components下面。我们按照下面几步来完善这个sld文件。
1.在Repositories下建立一个新的Repository,命名为Realtek High Definition Audio Repository
2.在Packages下建立一个新的Package,命名为Realtek High Definition Audio Package
3.Realtek High Definition Audio Repository的Group Membership下面添加Realtek High Definition Audio Package
4.在Realtek High Definition Audio组件的Group Membership下面添加Realtek High Definition Audio Package
5.保存sld文件到sld文件夹。
6.设置Realtek High Definition Audio Repository的Source Path,设置为rep文件夹。因为sld文件已经保存,所以位置会变成相对路径.\..\rep
7.最重要的一步,在Realtek High Definition Audio的属性里设置Repository为Realtek High Definition Audio Repository
8.Realtek High Definition Audio的Files下删除HDA32.cat,在Windows XP Embedded驱动程序签名是无效的
9.按照Files的列表,把这些文件复制到rep文件夹下。
10.View|Release Components,可以在使用组件的时候避免警告,最后保存sld文件。
这样,一个组件的sld文件就已经完成了。
接下来,我们需要把组件制作成安装文件,以便安装到组件数据库中去。
1.创建weupdate.inf文件。内容如下:
Code
[Version]
Signature="$WINDOWS NT$"
[XPEInstall]
MinimumPlatformRevision=2010
MinimumDatabaseVersion=2010
QFENumber=SP3
Reboot=0
[Preinstall]
Database Backup=DBBackup
Uninstall SP3 Beta=SPUninst, 1902
[DBBackup]
Text=You should backup your existing Windows XP Embedded database before updating the database.\n\nIf you have already backed up your database, click OK to continue.\n\nFor information on how to back up your database, click Help.
Document=".\doc\BackupXPEDB.rtf"
[SPUninst]
Text=You should remove previous versions of Windows XP Embedded Service Pack 3 before updating the database. If you already done this, click OK to proceed.\n\nUpdating the database over a previous version may cause errors during build.\n\nFor information on how to remove previous versions of Windows XP Embedded Service Pack 3, click Help.
Document=".\doc\RemoveXPESP3.rtf"
[SLD.NoRep]
sld\HDARt.sld
如果采用此inf文件,一定要保证doc下有相应文件名的文档,否则无法正确运行weupdate.exe
2.复制weupdate.inf和weupdate.exe到ALC262文件夹下。
3.最后制作成cab自解压安装程序,设置解压缩后自动运行weupdate.exe
自此,可分发的Windows Embedded Standard组件制作完成,我们可以利用这个方法把常用的驱动程序,应用程序作成组件共享给其他的开发人员,甚至,我们可以把这些组件集中起来,来形成一个规模庞大的组件资源库,完善Windows Embedded Standard的生态环境,为更多的开发人员提供便利,同时,也最大化发挥组件的价值。
本文为Windows Embedded征文比赛获奖文章。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号