导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请高手解答一个VxWorks的问题

* 53818: 请高手解答一个VxWorks的问题

   kingholly 
kingholly发表的帖子 

 请高手解答一个VxWorks的问题
在vxWorks目标机上运行一个模块,加载主机上的目标模块到目标机内存,代码如下:
 int fd,result,err;
 netDevCreate("wrs:", "host", 1);/*1 means use ftp*/
 fd = open("wrs:D:/Tornado/target/proj/Project6/I80486gnu/test.o",O_RDWR,0);
 result = loadModule(fd, LOAD_GLOBAL_SYMBOLS);
 err = errnoGet();
 printErrno(err);
用Tornado调试,跟踪后result =0,err = 0x3d0001,printErrno得到"S_objLib_OBJ_ID_ERROR".
这段代码通过netdrv驱动,ftp协议下载test.o,加载不成功,请问这是为什么?我用fopen打开一个主机文件,得到同样的错误号,但Debug窗

口没有了"can't add ... to system symbol table"的输出.

调试器的Virtual Console输出如下:
loadAoutLib error: can't add 'test.o_text' to system symbol table - error = 0x3d
0001.
loadAoutLib error: can't add 'test.o_data' to system symbol table - error = 0x3d
0001.
loadAoutLib error: can't add 'test.o_bss' to system symbol table - error = 0x3d0
001.
loadAoutLib error: can't add '_test' to system symbol table - error = 0x3d0001.
undefined symbol: _printf
S_objLib_OBJ_ID_ERROR

我在objLib.h找到了一个与S_objLib_OBJ_ID_ERROR有关的宏定义,但看不明白:BJ_VERIFY(objId,classId)
/*******************************************************************************
*
* OBJ_VERIFY - check the validity of an object pointer
*
* This macro verifies the existence of the specified object by comparing the
* object's classId with the expected class id.  If the object does not check
* out, errno is set with the appropriate invalid id status.
*
* This macro also checks for the existance of an windview instrumented object.
*
* RETURNS: OK or ERROR if invalid object id
*
* NOMANUAL
*/

#define OBJ_VERIFY(objId,classId)          (                                                                          (                (((OBJ_ID)(objId))->  pObjClass == (struct obj_class *)(classId)) ||        (                ((OBJ_ID)(objId))->  pObjClass &&               (((OBJ_ID)(objId))->  pObjClass ==                                        (CLASS_ID)(((struct obj_class *)(classId))->  initRtn))            )               )                                                                          ?                                                                            OK                                                                   :                                                                            (errno = S_objLib_OBJ_ID_ERROR, ERROR)                           )

发表时间:2004年4月30日20:21:42

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:急求英才(5月15日前有效)本公司由于业务发展需要,现急盼有技术专才人士加盟。要求如下: /P P
[下一篇帖子]:我的程序只有三行呀,这么简单的程序怎么定义起始地址 /P P 能详细说说吗