Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465923
  • 博文数量: 150
  • 博客积分: 2706
  • 博客等级: 少校
  • 技术积分: 1200
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-09 11:41
文章分类

全部博文(150)

文章存档

2012年(7)

2011年(6)

2010年(68)

2009年(69)

我的朋友

分类:

2009-12-18 23:26:19

1. 组件库可以看作一个容器,用来管理配置包,对应文件为/opt/ecos/ecos-2.0/packages/ecos.db
ecos.db中包含了各个配置包的安装位置、CDL脚本、别名;还包含了不同目标所需的配置包情况。
配置层次:
   *配置包是一系列组件的集合:一定数目的源文件(用来生成库),
   *组件:配置时的基本配置单位。
   *选项的操作,用来选择,在配置包的组件描述文件中。
现在对层次的理解:
 ecos.db(包含配置包描述)->配置包(对应一个功能、体系结构、芯片、平台等)->组件Component(对应配置包的CDL文件中的一个Component描述项)->选项option(对应配置包的CDL文件中的一个cdl_component描述项的一个cdl_option描述项)
2. 配置包的发布:源码文件(源代码、CDL文件、模板文件、头文件),数据文件pkgadd.db(其内容要添加到ecos.db中),license文件pkgadd.txt(最多79字节,使用配置工具是会显示该文件内容)。配置包一般都先压缩成*.tar.gz,然后把后缀改为*.epk。
模板:为了提高配置人员实现自己配置的方便性而建立的一组默认的或特定的配置,这样在配置时,只需选择与自己目标相似的配置,进行修改即可。
3. 配置生成过程(Build):
配置生成过程涉及的目录:
 在配置人员配置好相关的选项、组件、配置包后,需要把配置保存下来,并生成配置文件。在配置生成过程中,涉及的目录有以下三个:
 *组件库:
 *Build树:其目录下保存的主要是配置生成过程中一些临时文件和信息,例如目标文件等。当配置完成后这些文件就不需要了。
 *Install树:保存了配置开发人员需要使用的头文件、库等内容。Lib子目录下保存了链接脚本、起始代码等文件。Include目录下包含了各个包输出的头文件。另外在它的pkgconf中还包含了有宏定义构成的头文件。
配置生成过程简述:
 *创建build和install目录树
 *1. 组件库可以看作一个容器,用来管理配置包,对应文件为/opt/ecos/ecos-2.0/packages/ecos.db
ecos.db中包含了各个配置包的安装位置、CDL脚本、别名;还包含了不同目标所需的配置包情况。
配置层次:
   *配置包是一系列组件的集合:一定数目的源文件(用来生成库),
   *组件:配置时的基本配置单位。
   *选项的操作,用来选择,在配置包的组件描述文件中。
现在对层次的理解:
 ecos.db(包含配置包描述)->配置包(对应一个功能、体系结构、芯片、平台等)->组件Component(对应配置包的CDL文件中的一个Component描述项)->选项option(对应配置包的CDL文件中的一个cdl_component描述项的一个cdl_option描述项)
2. 配置包的发布:源码文件(源代码、CDL文件、模板文件、头文件),数据文件pkgadd.db(其内容要添加到ecos.db中),license文件pkgadd.txt(最多79字节,使用配置工具是会显示该文件内容)。配置包一般都先压缩成*.tar.gz,然后把后缀改为*.epk。
模板:为了提高配置人员实现自己配置的方便性而建立的一组默认的或特定的配置,这样在配置时,只需选择与自己目标相似的配置,进行修改即可。
3. 配置生成过程(Build):
配置生成过程涉及的目录:
 在配置人员配置好相关的选项、组件、配置包后,需要把配置保存下来,并生成配置文件。在配置生成过程中,涉及的目录有以下三个:
 *组件库:
 *Build树:其目录下保存的主要是配置生成过程中一些临时文件和信息,例如目标文件等。当配置完成后这些文件就不需要了。
 *Install树:保存了配置开发人员需要使用的头文件、库等内容。Lib子目录下保存了链接脚本、起始代码等文件。Include目录下包含了各个包输出的头文件。另外在它的pkgconf中还包含了有宏定义构成的头文件。
配置生成过程简述:
 *创建build和install目录树
 *使install/include目录包含各个包输出的头文件。
 *编译用当前配置相关的源文件。本过程涉及编译标志选项的设置或修改。Compile属性所指定的源文件都要被编译,编译得到的文件被放置在build目录下。
 *将目标文件收集到install/lib下的libtarget.a文件中,该文件将会在后面的应用中和应用代码链接。
 *用户可以通过make和make_object属性建立自己的配置生成步骤,生成的结果可以是目标文件、库文件或链接器脚本。
4. 配置头文件的生成:
两种头文件生成机制:
 *一种机制是通过使能或禁止某选项,控制相关文件的建立、是否添加到库中,这样就可以为生成的应用程序添加或删除某些功能。这种机制只能控制某个文件对应的功能是否被使能,配置比较粗糙。
 *通过输出配置头文件,在这些头文件中包含C语言的Define等预处理符号。然后在源文件中include配置头文件,并使用ifdef、ifndef来控制相应的功能是否被使能。这种机制可以在单个源文件中控制相应功能是否被使能。
两种配置头文件:
 *系统头文件
 *配置包的头文件
5. 移植时可修改的重点,修改目录/hal/arm/xscale/ixdp425/current/misc下的redboot.ecm,也可以通过配置工具ecosconfig修改redboot.ecm
6.移植时的内存分配需要修改生成的目录树中pckconf/下的文件mlt_arm_xscale_ixdp425_rom.ldi和mlt_arm_xscale_ixdp425_rom.h,其中mlt_arm_xscale_ixdp425_rom.ldi文件需要参考目录hal/arm/arch/current/src目录下的arm.ld中定义了ldi文件中要使用的宏。使install/include目录包含各个包输出的头文件。
 *编译用当前配置相关的源文件。本过程涉及编译标志选项的设置或修改。Compile属性所指定的源文件都要被编译,编译得到的文件被放置在build目录下。
 *将目标文件收集到install/lib下的libtarget.a文件中,该文件将会在后面的应用中和应用代码链接。
 *用户可以通过make和make_object属性建立自己的配置生成步骤,生成的结果可以是目标文件、库文件或链接器脚本。
4. 配置头文件的生成:
两种头文件生成机制:
 *一种机制是通过使能或禁止某选项,控制相关文件的建立、是否添加到库中,这样就可以为生成的应用程序添加或删除某些功能。这种机制只能控制某个文件对应的功能是否被使能,配置比较粗糙。
 *通过输出配置头文件,在这些头文件中包含C语言的Define等预处理符号。然后在源文件中include配置头文件,并使用ifdef、ifndef来控制相应的功能是否被使能。这种机制可以在单个源文件中控制相应功能是否被使能。
两种配置头文件:
 *系统头文件
 *配置包的头文件
5. 移植时可修改的重点,修改目录/hal/arm/xscale/ixdp425/current/misc下的redboot.ecm,也可以通过配置工具ecosconfig修改redboot.ecm
6.移植时的内存分配需要修改生成的目录树中pckconf/下的文件mlt_arm_xscale_ixdp425_rom.ldi和mlt_arm_xscale_ixdp425_rom.h,其中mlt_arm_xscale_ixdp425_rom.ldi文件需要参考目录hal/arm/arch/current/src目录下的arm.ld中定义了ldi文件中要使用的宏。
阅读(1239) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~