分享
 
 
 

WinCE 5.0边做边学(4)

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

作者: 文斌

主页: 文斌程序网 http://www.wenbinweb.com

经过以前的学习,我们已经掌握了生成CE的过程及编译的几个阶段,这次我们再来了解一下Platform Builder中为我们提供的组件包的管理方式以及如何管理自己的组件。

在Platform Builder(以下简称PB)中的右侧有一个"Catalog"窗口,其中列出了所有可供使用的组件,我们可以看到其内容是非常之多的,现在的疑问就产生了,PB是如何管理这些组的呢?如果我有一个新设备的驱动组件要如何才能放到这个组件包窗口中呢?如果我开发了一个设备驱动以供其他人使用那我要如何才能发布我的驱动呢?下面,我们就来解决这些问题。

在PB中,这些组件的管理都是能过一种组件文件(.cec文件)来实现的。在CE4中,系统自带的CEC文件都位于PB的安装文件夹下的CEC文件夹,我们可以在那里很容易的找到它们,但是在CE5中,它的位置变了,你可以在WINCE500\PUBLIC\COMMON\OAK\CATALOG\CEC下找到他们。

如果你开发了OAL,设备驱动或其他组件,你就可以能过CEC文件来把它们加入到PB中。通过在PB环境中导入CEC文件,其他的平台开发人员就可以使用这些组件了。CEC文件是用来描述组件信息的文本文件,它包括了一些块的列表,主要包括以下四种信息块:

--CECInfo块,用来描述此CEC文件的信息,每个CEC文件只能含有一个此信息块,从中你可以看到该CEC的名称、GUID、版本、供应商和简要描述。

--ComponentType块,它描述了最高级别的组件类型,在一个CEC文件中可以有多个此信息块,它通过Group,RequiredCEModules,ExcludeWhenSet,MaxResolvedImplsAllowed等条目来描述此组件所在的组,需要的CE组件,排除的组件及允许在一个CE平台中存在的数量等信息。

--Implementation块,用来描述此组件在编译时需要的各种信息,每个CEC文件中也可以有多个此信息块,它是 ComponentType块的一部分,其中的BSPPlatformDir,Children,OptionalChildren,DefaultDrivers,ExcludeWhenSet,FeatureVariable,ImplSize等条目的具体含义可以在PB的帮助文档中找到,在此不一一细述。

--BuildMethod块,描述了编译的方法,也是ComponentType块的一部分,为了加深对上一次编译阶段的理解,我们详细说一下此块中Step和Action两个条目。

Step用来说明编译此组件将要在哪一步中进行,对照上一次的内容,它的取值为:CESYSGEN,BSP,BUILDREL,MAKEIMG。所以如果你自己开发了OAL或驱动之类的组件,你就需要自己决定让PB在什么阶段来编译它,就要在CEC中通过Step来描述。其实在具体的编译过程中,上述的每一阶段又有PRE和POST两个子阶段,也就是说对于每个阶段其实都有三步,即PRECESYSGEN,CESYSGEN,POSTCESYSGEN,PREBSP,BSP,POSTBSP……一般不用具体到这样详细的程度。

Action则描述了组件编译的行为,有效的行为与编译阶段的对应关系如下表所示:

Action

CESYSGEN

BSP

BUILDREL

MAKEIMG

#BUILD(DIR,...)

No

Yes

No

No

#BUILD(SOURCES)

No

Yes

No

No

#BUILD(MAK,...)

No

Yes

No

No

#CUSTOM(...,...)

No

Yes

Yes

No

#COPY(...,...)

Yes

No

Yes

No

#ENV(...,...)

No

Yes

No

Yes

#SRCCODE(...)

No

No

No

No

这些Action的意义如下:

--#BUILD():使用DIRS文件或SOURCES文件或MAKE文件来调用build.exe,在完全编译平台的时候被使用;

--#CUSTOM():在编译的时候运行批处理文件或可执行文件;

--#COPY():从一个位置复制文件到另一个位置;

--#ENV():设置环境变量;

--#SRCCODE():指定了包含源程序文件的文件夹,只在编译所选组件时应用。

对于以上每个条目的具体用法可以参阅PB的帮助文档。为了获得感性认识,我们最好用记事本打开几个CEC文件来看一下。比如打开serial.cec看看串口驱动组件的实现方法等。

以上我们了解了CEC文件,我们再来解决后面的问题,即假设我从别的供应商处拿到了一个设备的驱动程序,它带了CEC文件,那么我要如何把这个组件加入到PB的组件包中呢?这个问题其实很简单,只要在PB的File菜单下使用"Manage Catalog Items"命令即可。在这个弹出的对话框中的内容和使用方法就不用我说了吧。

再来解决下一个问题,我要如何为我开发的组件编写CEC文件呢?这个也好办,在Tools菜单下使用"CEC Editor"命令即可,如果不会写,可以先打开一个现有的CEC文件看看是如何组织的,然后再仿照它来写自己的就可以了,别忘了写完后要保存哦,同时也要注意GUID的问题。

此次内容的最后,我们再来看一下BSP。什么是BSP呢,其实就是为某一种开发板实现了设备驱动的软件包,它包含了源程序文件,二进制文件等,还有OAL适配层,Bootloader和其他有关的配置文件。比如CE5的评估版就带了x86的BSP,AMD的BSP和Emulator的BSP。

通常对BSP的操作都在BSP向导中进行,它位于Platform菜单中,利用它可以新建自己的BSP,复制现存的BSP,修改现存的BSP或创建全局的驱动程序。如果你准备好了BSP所需要的那些东西就可以用它来生成你的BSP了,它会选择必须的CE内核组件。

好了,已经写了不少了,唉,写这东西真是费时啊,不说了,希望我们能一起获得更多的知识。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有