首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试vxworks loadModule失败

调试vxworks loadModule失败
EN

Stack Overflow用户
提问于 2019-07-17 15:16:29
回答 1查看 507关注 0票数 0

我有一个VxWorks图像项目,没有文件系统上的MPC5200B,使用DIAB工具链。

我需要从flash动态加载一个模块。

我在堆栈char myTemporaryModuleData[MAX_MODULE_SIZE]上分配了内存

并将来自Flash的模块数据填充到其中。

(检查二进制数据是否完整)

然后我创建了一个memDevice('/mem/mem01', myTemporaryModuleData, moduleReadLength)

打开psuedo流int fdModuleData = open("/mem/mem01", O_RDONLY, 777);

当我运行int mId = loadModule(fdModuleData, LOAD_ALL_SYMBOLS);

运行loadModule();后,控制台中没有看到任何内容

但是表示失败的mId = 0

getErrno()返回0x3D0004 (S_objLib_OBJ_TIMEOUT)

注意:=>超时不需要很长时间就可以了?

  1. 我试着用一个简单的void foo() { printf(...); }模块替换这个模块,但是同样的问题还是失败了。
  2. 尝试加载.out而不是.o

不幸的是,我什么也没得到,

我怎么知道是什么导致它失败的?(日志,last_error,有什么需要检查的吗?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-19 19:38:33

找到了。显然,这是一个错误的数据读取从闪存。

我可以贡献的是,来自memDrv设备的‘memDrv()’是可能的,而且可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57079184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档