作者:ARM-WinCE
每一个BSP都有一个工程文件,比如MyBSP.pbcxml,里面描述了BSP的信息。下面就来介绍一下BSP的pbcxml文件。
文件的大致格式应该是这样的:
<CatalogFile …>
<FileInformation ….>
….
</FileInformation>
<BSP …>
…
</BSP>
<Item …>
…
</Item>
<Item …>
…
</Item>
<Item …>
…
</Item>
<Item …>
…
</Item>
</CatalogFile>
实际上<CatalogFile>…</CatalogFile>相当于一个入口,在这里面包含的就是WinCE BSP的所有内容了,里面包含几个部分,下面分别介绍每个部分。
1. <FileInformation>…</FileInformation>项:这里面包含了BSP的基本信息,比如BSP的名字,描述,厂家等。下面是一个模板:
<FileInformation Id="FileInformation: VENDOR:CATALOGFILENAME ">
<Title>Title Name</Title>
<Description>BSP Description</Description>
<Vendor>Vendor Name</Vendor>
<OSVersion>WinCE Version</OSVersion>
<FileVersion>File Version</FileVersion>
</FileInformation>
这里不做过多介绍了,一看就应该明白,下面给个实际BSP中的用到该项描述的例子:
<FileInformation Id="FileInformation:Cirrus Logic:EP94xx">
<Title>EP94xx</Title>
<Description>EP94xx BSP Catalog Items</Description>
<Vendor>Cirrus Logic</Vendor>
<OSVersion>6.00</OSVersion>
<FileVersion>1.0.0</FileVersion>
</FileInformation>
2. <BSP>…</BSP>项:该项一般在<FileInformation>项后面,用来描述当前的BSP中都有哪些组件,或者说有哪些Items。具体模板如下:
<Bsp Id="Bsp: VENDOR: BSPDIR: CPU">
<Title>BSP Title</Title>
<Description>BSP Description</Description>
<PlatformDirectory>Platform Directory</PlatformDirectory>
<CpuId>Cpu:CPU ID</CpuId>
<BspItemId>Item: VENDOR: VARIABLE</BspItemId>
<BspItemId>Item: VENDOR: VARIABLE</BspItemId>
…
</Bsp>
这里需要做一下解释:
VENDOR:厂家名称,比如三星提供的BSP,那么就应该是SAMSUNG。
BSPDIR:指该BSP在”/Platform”文件夹下的路径。
CPU:指该BSP所支持的CPU,比如ARMV4I。
MODULE:指BSP中的各个模块被编译后所生成的dll或者exe的名字,比如audio.dll,那么这里就应该是audio。
VARIABLE:指BSP中和某个模块相关的环境变量。
<Title>…</Title>:指BSP的标题
<Description>…</Description>:指BSP的一些描述
<PlatformDirectory>…</PlatformDirectory>:指该BSP在”/Platform”目录下的路径。
<CpuId>…</CpuId>:指所支持的CPU,比如ARMV4I。
<BspItemId>…</BspItemId>:指BSP中都包含了哪些模块。
这里要注意的是,<BspItemId>…</BspItemId>有两种表示方法如下:
Method 1:<BspItemId>Item: VENDOR: VARIABLE</BspItemId>
Method 2:<BspItemId>Item: VENDOR: MODULE: BSPDIR</BspItemId>
可以看一下WinCE6.0中Platform目录下的一些微软提供的BSP的pbcxml文件,大多采用第二种方法,我个人更喜欢第一种方法,简单。
下面也给个例子:
<Bsp Id="Bsp:Cirrus Logic:EP94xx:ARMV4I">
<Title>EP94xx: ARMV4I</Title>
<Description>Cirrus EP94xx BSP for WinCE 6.0</Description>
<PlatformDirectory>EP94xx</PlatformDirectory>
<CpuId>Cpu:ARMV4I</CpuId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_i2s_audio</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_flash</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_nandflash</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_ethernet</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_serial</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_usb</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_touch</BspItemId>
<BspItemId>Item: Cirrus Logic: bsp_ep94xx_rtc</BspItemId>
</Bsp>
3. <Item>…</Item>项:它会在<BSP>项后面,详细描述<BSP>项中的每一个模块,也就是描述BSP中的每一个驱动的相关信息。模板如下:
<Item Id="Item: VENDOR: VARIABLE">
<Title>Driver Title</Title>
<Description>Driver Description</Description>
<Type>BspSpecific</Type>
<Variable>Variable</Variable>
<Location>Device Drivers</Location>
<SourceCode>
<Title>Source Code Title</Title>
<Path>Source Code Path</Path>
</SourceCode>
</Item>
前面我们提到了<BSP>项中的<BspItemId>…</BspItemId>有两种表示方法,那么实际上和这里的每一个模块的<Item>项是对应的,上面的用哪种方法表示,这里也同样要用相同的方法如下:
Method 1:<Item Id=”Item: VENDOR: VARIABLE”> …… </Item>
Method 2:<Item Id=”Item: VENDOR: MODULE: BSPDIR”> …… </Item>
这里再对一些定义作个解释:
VENDOR:厂家名称,比如三星提供的BSP,那么就应该是SAMSUNG。
CPU:指该BSP所支持的CPU,比如ARMV4I。
VARIABLE:指BSP中和该模块相关的环境变量。
<Title>…</Title>:该驱动的标题。
<Description>…</Description>:该驱动的描述。
<Type>…</Type>:对于BSP中的Item来说,这里必须是”BSPSpecific”。
<Variable>…</Variable>:该驱动用到的环境变量,可以不止一个。
<Location>…</Location>:指在PB中的Catalog Items View中的位置。
<SourceCode>…</SourceCode>:描述该驱动的源代码。
<Path>…</Path>:指向该驱动的源代码的路径。
<HelpLink>…</HelpLink>:描述一个帮助链接链接到帮助页。
下面举个例子:
<Item Id="Item:Cirrus Logic:bsp_ep94xx_i2s_audio">
<Title>Audio I2S</Title>
<Description>Audio Driver for I2S</Description>
<Type>BspSpecific</Type>
<Variable>BSP_EP94XX_AUDIO</Variable>
<Variable>BSP_EP94XX_I2S_AUDIO</Variable>
<Location>Device Drivers</Location>
<SourceCode>
<Title>$(_WINCEROOT)\PLATFORM\EP94XX\SRC\DRIVERS\WAV</Title>
<Path>$(_WINCEROOT)\PLATFORM\EP94XX\SRC\DRIVERS\WAV</Path>
</SourceCode>
</Item>
上面对WinCE中的BSP的工程文件pbcxml做了个介绍,相信有点描述语言基础,了解一些WinCE知识的看懂绝对没有问题了。很多时候,在向BSP中添加驱动或者删除驱动的时候,我们就可以直接用记事本打开该文件,然后在里面编辑就可以了,这样很方便。
分享到:
相关推荐
收集各种开发板wince BSP资源: 6410 sd启动裸跑 mini2440 Android系统 WINCE6 VMWARE BSP 三星CPU资料 三星S3C2416 三星S3C2440A 三星S3C2443 三星S3C6410 优龙开发板wince5.0 BSP和资料 友善之臂Micro2440、...
Wince BSP 开发资料, 各个方面的都有介绍
WINCE BSP 5.0/WINCE BSP 5.0/WINCE BSP 5.0/WINCE BSP 5.0/WINCE BSP 5.0/WINCE BSP 5.0/
本书介绍WinCE BSP开发的过程,非常适合初学者
PXA270 wince BSP for 优龙YL_P270EV_V2.0
i.mx27 wince bsp/ 最强大的arm9媒体处理器。最新的wince包
wince中的BSP工程的相关文件介绍 .pbcxml分析,REG文件和DB文件,.Dirs文件和Sources文件,DAT文件,BIB文件。很详细
最新mini2440 wince BSP开发包,可供学习者裁剪定制wince系统
wince BSP 2440显示驱动代码分析加部分中文注解
WinCE4.2BSP BSP WinCE4.2 mini2440 2440 win ce 2440 BSP包
Wince 开发之BSP指南 初学者的好帮手
BSP是在标准开发板上运行的一...通过BSP我们可以在开发板上快速的启动操作系统以及分析操作系统的性能。有了BSP的支持,各个OEM(原始设备制造商)厂商和独立硬件开发商就可以缩短基于Windows CE平台产品的开发周期。
周立功的 PXA270 WINCE 5.0 BSP 非常具有参考价值 用PXA270的wince工程师人手必备!
三星210 S5PV210 Wince Bsp
T05.Wince BSP开发.pdfT05.Wince BSP开发.pdfT05.Wince BSP开发.pdf
wince bsp development
包含了WinCE6.0驱动、BSP开发、Image制作、OS裁剪、Debug等等各方面资料。
BSP源码包 wince操作系统中用的。
2416 BSP WINCE50下 2416 BSP WINCE50下 2416 BSP WINCE50下 2416 BSP WINCE50下 2416 BSP WINCE50下 2416 BSP WINCE50下
WinCE几个工程文件的作用,较清晰分析了个文件的作用