When I attempt to run cFS, I get the following error on startup:
ES Startup: Loading shared library: /cf/apps/io_lib.so
Failed to register with EVS (0xC4000001)
ES Startup: Load Shared Library Init Error = 0xc4000001
The rest of the system continues to load, but IO_Lib does not. I looked up the error code in cfe_error.h
and the comment says: "The given application ID does not reflect a currently active application."
The code causing the issue seems to be in io_lib_init.c:IO_LibInit()
:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* */
/* CFS Library Initialization Routine */
/* cFE requires that a library have an initialization routine */
/* */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int32 IO_LibInit(void)
{
int32 ii = 0;
int32 iStatus = 0;
/* Perform any library initializations */
iStatus = TMTF_LibInit();
iStatus |= TM_SYNC_LibInit();
iStatus |= TC_SYNC_LibInit();
if (iStatus != CFE_SUCCESS)
{
CFE_ES_WriteToSysLog("IO_Lib Init failed.\n", iStatus);
}
CFE_PSP_MemSet((void*)g_IO_LIB_LibData.EventTbl, 0x00,
sizeof(g_IO_LIB_LibData.EventTbl));
for(ii = 0; ii < IO_LIB_EVT_CNT; ++ii)
{
g_IO_LIB_LibData.EventTbl[ii].EventID = ii;
}
/* Register the table with CFE */
iStatus = CFE_EVS_Register(g_IO_LIB_LibData.EventTbl, IO_LIB_EVT_CNT,
CFE_EVS_BINARY_FILTER);
if (iStatus != CFE_SUCCESS)
{
CFE_ES_WriteToSysLog("Failed to register with EVS (0x%08X)\n", iStatus);
}
else
{
CFE_ES_WriteToSysLog("IO Lib Initialized. Version %d.%d.%d.%d\n",
IO_LIB_MAJOR_VERSION,
IO_LIB_MINOR_VERSION,
IO_LIB_REVISION,
IO_LIB_MISSION_REV);
}
return iStatus;
}/* End CFS_LibInit */
Comments
Post a Comment