新闻中心

EEPW首页>嵌入式系统>设计应用> 手把手学习WinCE 5.0(二)

手把手学习WinCE 5.0(二)

作者: 时间:2014-04-24 来源:网络 收藏

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

本文引用地址://m.amcfsurvey.com/article/245962.htm

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

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

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

ActionCESYSGENBSPBUILDRELMAKEIMG

#BUILD(DIR,...)NoYesNoNo

#BUILD(SOURCES)NoYesNoNo

#BUILD(MAK,...)NoYesNoNo

#CUSTOM(...,...)NoYesYesNo

#COPY(...,...)YesNoYesNo

#ENV(...,...)NoYesNoYes

#SRCCODE(...)NoNoNoNo

这些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内核组件。

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

c++相关文章:c++教程



上一页 1 2 下一页

关键词:WinCE5.0CEPC

评论


相关推荐

技术专区

关闭