vxWorks5.4下加载.out文件的需要注意事项

最近在做vxWorks5.4下的项目,在其中一个需要进行动态加载使用c语言编写的.out文件时,使用loadModule函数加载相关的模块后,使用symFindByName查找用户的入口函数时,总是提示0x1c000001错误,经查找为无法找到此符号。使用如下的验证方式:

       1.在shell下输入lkup "入口函数的名称",发现可以找到函数的入口地址。

       2.在shell下直接输入入口函数的名称,同样可以直接运行此函数

查找vxWorks的编程手册和编程指南,以及网络上的关于vxWorks加载.out文件的方式,发现全部是使用如上的组合方式,且在编程指南的symlib和loadlib中的指南均如此,如此三番五次均未解,后来在symlib.h文件中发现有个symFindByCName, 使用此函数后发现调用成功,可以成功找到相应的函数入口地址,故而得解。原因可能是c++和c原因的函数在符号表中的生成方式不一样,c语言使用xxx的方式, 而c++则使用XXX_XXX_XXX...,后面为参数类型,vxWorks5,4下的此函数和vxWorks5.5不同即在此处。


关于target shell的一些问题,在用户进行现场验收时发现之前在使用gei0进行网络下载和调试时,target connect连接方式为end connect driver ,而在使用主板的后置网口进行调试时发现target shell连接不上,后改为networks connect方式后可以正常连接。且在shell下需要进行使用copy命令将本机的文件拷贝到目标机上时,需要添加target shell file system才能正确完成,至此,一个适于调试的环境便搭建成功。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值