当前位置: 代码迷 >> VxWorks >> 关于vxworks与vxworks.st 符号表解决方案
  详细解决方案

关于vxworks与vxworks.st 符号表解决方案

热度:7975   发布时间:2013-02-26 00:00:00.0
关于vxworks与vxworks.st 符号表
1. vxworks.st相当于包含宏定义INCLUDE_STANDALEN_SYM_TBL,即拥有内建符号表,而vxworks映像是不是就不能包含此宏定义

啊?



2. 在bootable bsp工程下面,包含INCLUDE_STANDALEN_SYM_TBL宏定义,build vxworks不会出错,但在命令行下面如果包含

上述宏定义,make vxworks 就会报错,说没有定义standTbl,standTblSize变量。这是为什么啊?



3. bootable bsp工程下,如果要exclude INCLUDE_STANDALEN_SYM_TBL宏定义,则提示说target shell,targer loader等组件

也将exclude。但在命令行下,config.h文件中undef INCLUDE_STANDALEN_SYM_TBL后,并不需要undef INCLUDE_SHELL等组件

,这是为什么啊?而且在usrDepend.c文件中,也并没有提到built-in symbol与target shell之间需要什么关联啊?工程中的

exclude关联到底依据的是什么啊?



实在困惑啊,请各位大侠帮忙解答一下。。。

------解决方案--------------------------------------------------------
1. vxworks.st相当于包含宏定义INCLUDE_STANDALEN_SYM_TBL,即拥有内建符号表,而vxworks映像是不是就不能包含此宏定义啊?

---可以内建符号表, 加上INCLUDE_STANDALEN_SYM_TBL

2. 在bootable bsp工程下面,包含INCLUDE_STANDALEN_SYM_TBL宏定义,build vxworks不会出错,但在命令行下面如果包含

上述宏定义,make vxworks 就会报错,说没有定义standTbl,standTblSize变量。这是为什么啊?

用命令行需要手工把依赖加上,用vxprj/workbench是根据cdf来解析的,会自动寻找模块之间的依赖,该增加的就自动加上了

3. bootable bsp工程下,如果要exclude INCLUDE_STANDALEN_SYM_TBL宏定义,则提示说target shell,targer loader等组件

也将exclude。但在命令行下,config.h文件中undef INCLUDE_STANDALEN_SYM_TBL后,并不需要undef INCLUDE_SHELL等组件

,这是为什么啊?而且在usrDepend.c文件中,也并没有提到built-in symbol与target shell之间需要什么关联啊?工程中的

exclude关联到底依据的是什么啊?

vxprj/workbench是根据cdf来解析组件依赖,关键字REQUIRES/INCLUDE_WHEN etc.
建议不要用命令行make,已经过时了。如果你必须要用命令行的方式就用vxprj命令,和workbench效果是一样的
  相关解决方案