我有一个 VxWorks Image Project 项目,在MPC5200B上没有文件系统,使用DIAB工具链。
我需要从闪存动态加载模块。
我在堆栈上分配了内存,char myTemporaryModuleData[MAX_MODULE_SIZE]
并用来自 Flash 的模块数据填充了它。
(检查二进制数据是否完整)
然后我创建一个memDevice('/mem/mem01', myTemporaryModuleData, moduleReadLength)
打开的伪流 int fdModuleData = open("/mem/mem01", O_RDONLY, 777);
当我运行int mId = loadModule(fdModuleData, LOAD_ALL_SYMBOLS);
后在控制台中没有看到任何内容loadModule();
但mId = 0
表明失败:(。
getErrno() 返回 0x3D0004 (S_objLib_OBJ_TIMEOUT)
注意:失败并没有花很长时间=>超时?
我尝试用一个简单的
void foo() { printf(...); }
模块替换模块,但仍然因同样的问题而失败。尝试加载
.out
而不是.o
不幸的是,没有什么让我无处可去,
我怎么知道是什么导致它失败?(日志,last_error,我应该检查什么?)