WinCE配置文件详解之(五)--工程文件pbcxml

    技术2025-06-03  88

    WinCE BSP工程文件pbcxml分析本文详细介绍WinCE BSP工程文件pbcxml分析每一个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)PLATFORMEP94XXSRCDRIVERSWAV</Title><Path>$(_WINCEROOT)PLATFORMEP94XXSRCDRIVERSWAV</Path></SourceCode></Item>上面对WinCE中的BSP 的工程文件pbcxml 做了个介绍,相信有点描述语言基础,了解一些WinCE 知识的看懂绝对没有问题了。很多时候,在向BSP 中添加驱动或者删除驱动的时候,我们就可以直接用记事本打开该文件,然后在里面编辑就可以了,这样很方便。

    最新回复(0)