|
目前,创建WinCE6.0的工程的时候,都是打开VS2005,然后创建一个Platform Builder for CE6.0的工程,然后根据Wizard的提示,一步一步下去。在整个创建过程中,首先选择BSP,然后就是选择模板,
如图:

上面这些模板都是微软提供的,这些模板的描述文件可以在” \WINCE600\PUBLIC\CEBASE\CATALOG”下面找到。实际上,这些模板都是一些基于xml的描述文件。其中最简单的应该是” odtsmall_footprint.pbcxml”。对应上图中的模板应该是”Small Footprint Device”。下面我先对该模板做个简单介绍:
用记事本打开”odtsmall_footprint.pbcxml”文件,我们可以看到整个模板的架构如下:
<CatalogFile …>
<FileInformation …>
…
</FileInformation>
<OSDesignTemplate …>
…
</OSDesignTemplate>
</Catalogfile>
A. FileInformation,格式如下:
<FileInformation …>
<Title>…</Title>
<Vendor>…</Vendor>
<OSVersion>…</OSVersion>
<FileVersion>…<FileVersion>
</FileInformation>
这部分主要提供一些模板的信息,比如模板的名字,厂家,OS的版本等。
B. OSDesignTemplate,格式如下:
<OSDesignTemplate …>
<Title>…</Title>
<Description>…</Description>
<CoreOSId>…</CoreOSId>
<Settings>
…
</Settings>
<SelectionPage>
…
</SelectionPage>
<SelectionPage>
…
</SelectionPage>
</OSDesignTemplate>
这部分包含与OS相关的设置以及对OS的定制,比如编译选项,选择了OS中的哪些模块,后面会举个例子来详细介绍。
同在一个目录下还有很多其他的模板,比如”odtpda.pbcxml”是一个PDA模板,这些都是基于xml描述性语言的,都可以用记事本打开,也比较容易理解。
我们在创建工程的时候可以根据自己产品的需要选择相似的模板。问题是我们的产品不可能和微软的模板完全一致,所以在创建工程后还是要手动添加或删除一些组件,或者是更改一些设置。
下面介绍根据自己产品的需要来为自己的产品创建一个模板:
1. 首先复制” odtsmall_footprint.pbcxml”文件,然后改名为” odtYourProduct.pbcxml”。
2. 用记事本打开”odtYourProduct.pbcxml”,编辑FileInformation部分,如下:
<FileInformation Id="FileInformation:CompanyName:YourProduct">
<Title>Your Product Template Device</Title>
<Vendor>CompanyName</Vendor>
<OSVersion>6.00</OSVersion>
<FileVersion>6.00</FileVersion>
</FileInformation>
可以根据需要在Title中设置产品模板的名称,在Vendor中设置厂家。这部分比较简单,不多介绍了。
3. 编辑OSDesignTemplate部分中开始的Title和Description,如下:
<OSDesignTemplate Id="OSDesignTemplate:CompanyName:YourProduct">
<Title>Your Company's Product Device</Title>
<Description>Select the product's template for your device</Description>
<CoreOSId>CoreOS:MS:cebase</CoreOSId>
4. 编辑OSDesignTemplate部分中的Setting,如下:
<Settings>
<!-- ################ Applications - End User ###################### -->
<ItemId>Item:MS:sysgen_as_base</ItemId>
<ItemId>Item:MS:sysgen_as_file</ItemId>
…
<!-- ########## Applications and Services Development ############## -->
<ItemId>Item:MS:sysgen_dotnetv35</ItemId>
<ItemId>Item:MS:sysgen_dotnetv35_support</ItemId>
…
<!-- ########## Communication services and Networking ############## -->
<ItemId>Item:MS:sysgen_eap</ItemId>
<ItemId>Item:MS:sysgen_gateway</ItemId>
…
<!-- #################### Core OS services ######################### -->
<ItemId>Item:MS:sysgen_battery</ItemId>
<ItemId>Item:MS:sysgen_cerdisp</ItemId>
…
<!-- ############### File System and Data Store #################### -->
<ItemId>Item:MS:sysgen_fsreplbit</ItemId>
<ItemId>Item:MS:sysgen_nkcompr</ItemId>
…
<!-- ############## USB #####################-->
<ItemId>Item:MS:sysgen_usb</ItemId>
<ItemId>Item:MS:sysgen_usb_hid</ItemId>
…
<BuildOption Configuration="Retail">IMGNODEBUGGER</BuildOption>
<BuildOption Configuration="Retail">IMGNOKITL</BuildOption>
<BuildOption Configuration="All">IMGNOTALLKMODE</BuildOption>
<BuildOption Configuration="Retail">WINCESHIP</BuildOption>
<BuildOption Configuration="All">IMGRAM64</BuildOption>
</Settings>
这部分包括了OS的定制,所有需要的模块都可以在这部分定义,同时对编译选项作了一些设置。比如对于Release模式,取消KITL,Full Kernel Mode以及允许image大于64M等。这里只是一个简单的例子,里面列举了一些OS中的模块,实际用户可以根据自己的需要添加更多的模块。
共4页: 上一页 1 [2] [3] [4] 下一页
|