【转载】WinCE BSP工程文件pbcxml分析

转载自:http://blog.csdn.net/nanjianhui/article/details/2918392

 

每一个BSP都有一个工程文件,比如MyBSP.pbcxml,里面描述了BSP的信息。下面就来介绍一下BSPpbcxml文件。

 

文件的大致格式应该是这样的:

<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

    MODULEBSP中的各个模块被编译后所生成的dll或者exe的名字,比如audio.dll,那么这里就应该是audio

    VARIABLEBSP中和某个模块相关的环境变量。

 

    <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.0Platform目录下的一些微软提供的BSPpbcxml文件,大多采用第二种方法,我个人更喜欢第一种方法,简单。

 

下面也给个例子:

<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

    VARIABLEBSP中和该模块相关的环境变量。

 

    <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中添加驱动或者删除驱动的时候,我们就可以直接用记事本打开该文件,然后在里面编辑就可以了,这样很方便。

转载于:https://www.cnblogs.com/hao507/articles/2209869.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值