这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » vxworks6.6 symfindbyname errono=183500

共1条 1/1 1 跳转至

vxworks6.6 symfindbyname errono=1835009

菜鸟
2011-11-17 09:23:04     打赏

下面是我的代码
test.c:
#include<stdio.h>

 

void test()
{
 printf("testing...");
}



sym.c:
#include <vxWorks.h>
#include <stdio.h>
#include <ioLib.h>
#include <loadLib.h>
#include <symLib.h>
#include <taskLib.h>
#include <nfsLib.h>
#include <nfsDrv.h>
#include <usrLib.h>
extern SYMTAB_ID sysSymTbl ;

int loadTestModuleAndRun()
{
 int fd = ERROR ;
 int status = ERROR ;
 MODULE_ID hModule ;
 FUNCPTR taskEntry = NULL ;
 SYM_TYPE * pType ;
 
 fd = open("/ata0a/test.out",O_RDONLY,0) ;
 
 if (fd==ERROR)
 {
  printf("can not open binary file.\\n") ;
  return ERROR ;
 }
 else
 {
  printf("binary file opened.\\n") ;
 }
 
 if ((hModule=loadModule(fd,LOAD_ALL_SYMBOLS))==NULL)
 {
  printf("loadModule error = 0x%x.\\n",errno) ;
  return ERROR;
 }
 
 close(fd) ;
 
 status = symFindByName(sysSymTbl,"_test",
 (char **)&taskEntry,pType ) ;
 
 if (status==ERROR)
 {
  printf("symFindByName error=%d\\n", errno) ;
  return ERROR;
 }
 else
 {
  /*Type N_ABS=2,N_TEXT=4,N_DATA=6,N_BSS=8;N_EXT=1 */
 
  taskEntry();
 }
 
 unld(hModule, 0);

 printf("Module is unloaded!\n");
 
 return OK ;
 
 
}

能够loadmodule,但是找不到symbol,是在vxworks 6.6下面实现的,谁知道该怎么解决吗





关键词: vxworks6.6     symfindbyname         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]