关于vxworks与vxworks.st 符号表

时间:2021-08-19 06:05:48
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关联到底依据的是什么啊?



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

5 个解决方案

#1


自己给自己顶一下,请看到的帮忙回复啊。。。

#2


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效果是一样的

#3


帮顶。。。。。。。。

#4


引用 2 楼 solomon1 的回复:
1. vxworks.st相当于包含宏定义INCLUDE_STANDALEN_SYM_TBL,即拥有内建符号表,而vxworks映像是不是就不能包含此宏定义啊?

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

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


谢谢您的回复。再弱弱的请教一下,vxprj命令该如何使用啊?我vxworks是5.5的内核,tornado是2.2的。

#5


应该是“INCLUDE_STANDALONE_SYM_TBL”吧~~笔误?

#1


自己给自己顶一下,请看到的帮忙回复啊。。。

#2


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效果是一样的

#3


帮顶。。。。。。。。

#4


引用 2 楼 solomon1 的回复:
1. vxworks.st相当于包含宏定义INCLUDE_STANDALEN_SYM_TBL,即拥有内建符号表,而vxworks映像是不是就不能包含此宏定义啊?

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

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


谢谢您的回复。再弱弱的请教一下,vxprj命令该如何使用啊?我vxworks是5.5的内核,tornado是2.2的。

#5


应该是“INCLUDE_STANDALONE_SYM_TBL”吧~~笔误?