symFindByName在ARM下奇怪的问题

0 views
Skip to first unread message

bobdylan

unread,
Nov 9, 2007, 11:51:21 AM11/9/07
to vxworks应用及实践
在9200下配置好了操作系统,扩展了一个DOC,在上面运行了M-System的5.1.4版本的驱动程序,文件系统创建正常,可以
使用FTP上传和下载文件。
为了将操作系统和应用程序分开存放,使用ld命令加载存储在/tffs0/下的test.out文件,使用sysFindByName函数查
找入口函数。从FLASH中启动后,发现symFindByName返回失败,printErrno函数显示错误原因为没有找到相应的符号名称。在
Target的Shell中直接敲击函数名称,发现可以运行,输出正常。lkup函数输出可以找到函数的地址。
查阅网上资料,检查xWorks操作系统的配置,系统已经包含了target load和buildin symbol table。
郁闷。无意中使用objdumparm将test。out文件中的符号表输出查看,发现所有的符号前面均没有下划线,可能有问题。作为对比,
又使用objdump386,将以前在x86下编译的一个应用程序(a.out)文件也做了符号表输出,发现所有的符号前均有下划线,可能是这个原因。
明天去试一试。希望是这个结果。

bobdylan

unread,
Nov 10, 2007, 9:18:20 PM11/10/07
to vxworks应用及实践
经过实际的测试,发现原先的判断是正确的,没有问题。
但是奇怪,风河为什么在这么有延续性的一个IDE中出现如此的更改,也许是2.x到2.2x系列的一个改变,因为我的x86下的a.out文件是在
2.02下编译的,没有验证x86 2.2x系列的编译结果。
2.x系列使用的是cc386编译器,而2.2x系列使用的是guu的编译器,也许在这里会有一定的区别。

一个很重要的经验

Reply all
Reply to author
Forward
0 new messages