1.组件概述
VxWorks的装备和裁剪是以组件为基本单位。组件是VxWorks相对独立和完好的一个功用模块,也是体系中最小的、可晋级的单元,它一般不再包括子节点。
VxWorks用CDF文件来描绘体系中的组件。CDF(Common Data Format)称作通用数据格局文件,是一种用于存储数据、拜访多维数据集的文件格局。CDF文件的后缀为.cdf,用户能够运用CDF文件十分方便地界说体系的特征参数,描绘一个组件,并将其装备到不同的体系中。
运用组件技能,运用用户在开发过程中能够高效构建VxWorks体系,防止传统结构头文件带来的低效、杂乱、易犯错等缺陷。并且,Tornado 2.x的图形装备东西和工程管理东西增强了组件相互依赖的可视性。
2.组件构成
组件实际上是一个功用部件详细完成部分的描绘信息,它界说了与组件相关的源代码或方针代码、集成信息以及与组件相关的参数。组件包括以下元素:
(1)NAME:一个可读的称号,在工程组件管理器中出现在组件图标周围。
(2)SYNOPSIS:对组件的简练的描绘。
(3)MODULES:与组件相关的方针文件。
(4)HDR_FILES:运用该组件时需求用到的相关头文件。
(5)CFG_PARAMS:与组件相关的一些装备参数,一般为一系列的宏。
3.组件描绘文件的读取次序
组件描绘文件必须有.cdf后缀。一切的CDF文件称号以两个十进制数字开端(即00xxxx.cdf),开端的这两个数字控制一个目录中CDF文件读取次序。
组件描绘文件一般在工程创立时被读取,假如两个文件描绘同一组件的相同特征,则它将读取后一个而不考虑曾经的。优先权一般以两种约好方法树立:
(1)CDF文件存放在确认目录下。这些目录以如下次序读取:
1>$(WIND_BASE)\target\config\comps\VxWorks:包括一些通用组件;
2>$(WIND_BASE)\target\config\comps\VxWorks\arch\arch:包括特定体系结构的组件;
3>$(WIND_BASE)\target\config\bsp:包括特定BSP的组件;
4>工程目录:包括该工程的一些特定组件。
(2)在同一目录下,文件头部的两个数字决议读取次序。
4.组件的封装规矩
Wind River公司将部分组件装置在其传统方位上。
(1)源码模块可在target/src或target/config目录下找到。
(2)标题头至于target/h中;方针模块在target/lib/objARCH中。
(3)组件描绘文件在target/config/comps/VxWorks中。
(4)组件装备文件(源码片段)坐落target/config/copms/src。
第三方受限于这些规则,组件元素在组件描绘文件中彻底给出。主张第三方把组件源和方针元素置于一个特定目录下,如target/config/vendor_name。组件描绘文件(CDF)的方位取决于组件集成在体系中的方位。
若要在一个完好体系中集成新的组件,CDF应该置于target/config/comps/VxWorks目录下。但凡在该文件夹下的阐明这些装备通用于各种BSP。
若它是一个BSP特定组件,则应该放在BSP目录下,表明它是针对当时BSP的特别装备。若其特别服务一个单一工程,则它放在工程目录(target/proj/project_name)下。
第三方组件不允许掩盖WindRiver支撑的文件,但可在其本身组件描绘文件中疏忽Wind River的组件描绘。
5.组件的可视化
Vxworks经过CDF文件为Tornado装备东西供给了BSP的装备信息。Tornado集成开发环境运用CDF文件把文件夹、组件、参数、选项文件夹等装备项构建成VxWorks体系的装备树,经过VxWorks组件管理器界面供用户检查和修正。
一旦咱们创立了一个新的组件,那么在Tornado的VxWorks组件管理器中能够打开组件树,找到新界说的组件,然后挑选装备或削减。
(1)经过挑选include/exclude完成裁剪。在开发一个BSP的初期,往往需求削减掉一些高档功用支撑,先构建一个支撑时钟中止的最小内核。调试经往后,逐渐添加高档功用模块组件支撑,最终开宣布一个功用相对完好的VxWorks操作体系。
(2)经过修正特点参数(选项)完成装备。例如咱们或许要到“VxWorks->hardware->memory->BSPMemory Configuration”中去修正一些内存装备相关的宏。
当然,一切都是代码或脚本描绘的,IDE仅仅一种可视化交互修正环境。在Tornado运转期间,企图去修正脚本或代码或许不会实时同步表现到Tornado中,此刻先封闭Tornado,修正完源文件再敞开Tornado从头加载,即可看到修正后的成果。在Tornado IDE中装备或削减组件,在适宜的时分(dependency or build)会反应到源文件代码中。
Tornado工程装备东西把收集到的用户装备信息反应表现到工程的相关源文件中,然后完成了VxWorks的主动装备和裁剪。组件包括开关宏(COMPONENTS INCLUDED)和宏参数(PARAMETERS)将表现在动态生成的prjParams.h和prjComps.h文件中。prjParams.h一般被config.h包括,prjComps.h将被target\config\comps\src\configAll.h包括。