Skip to content

Commit

Permalink
CCB 20191023/30: Merge nasa#362 nasa#375 nasa#376 nasa#382
Browse files Browse the repository at this point in the history
Fixes nasa#361, nasa#373, nasa#374, nasa#381
Code reviewed and approved at 20191023 and 30 CCBs
  • Loading branch information
skliper committed Oct 31, 2019
2 parents c3f799a + d93fd2a commit e9f7382
Show file tree
Hide file tree
Showing 23 changed files with 3,479 additions and 11 deletions.
51 changes: 51 additions & 0 deletions cmake/sample_defs/toolchain-ppc-vxworks6.9.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This example toolchain file describes the cross compiler to use for
# the target architecture indicated in the configuration file.

# Basic cross system configuration
set(CMAKE_SYSTEM_NAME VxWorks-CFE)
set(CMAKE_SYSTEM_PROCESSOR ppc)
set(CMAKE_SYSTEM_VERSION 6.9)
set(VXWORKS_GCC_VERSION 4.3.3)
set(VXWORKS_HOST_VERSION x86-linux2)
set(WIND_HOME_DFL "$ENV{WIND_HOME}")
if(NOT WIND_HOME_DFL)
set(WIND_HOME_DFL "/opt/WindRiver")
endif(NOT WIND_HOME_DFL)
set(WIND_HOME "${WIND_HOME_DFL}" CACHE PATH "Wind River installation directory")
set(VXWORKS_TOOLS_PREFIX "${WIND_HOME}/gnu/${VXWORKS_GCC_VERSION}-vxworks-${CMAKE_SYSTEM_VERSION}/${VXWORKS_HOST_VERSION}")


# specify the cross compiler - adjust accord to compiler installation
# This uses the compiler-wrapper toolchain that buildroot produces
SET(SDKHOSTBINDIR "${VXWORKS_TOOLS_PREFIX}/bin")
set(TARGETSUFFIX "${CMAKE_SYSTEM_PROCESSOR}")
#set(VXWORKS_BSP_C_FLAGS "-march=i686 -mtune=i686 -fno-common")
#set(VXWORKS_BSP_CXX_FLAGS ${VXWORKS_BSP_C_FLAGS})

SET(CMAKE_C_COMPILER "${SDKHOSTBINDIR}/cc${TARGETSUFFIX}")
SET(CMAKE_CXX_COMPILER "${SDKHOSTBINDIR}/c++${TARGETSUFFIX}")
SET(CMAKE_LINKER "${SDKHOSTBINDIR}/ld${TARGETSUFFIX}")
SET(CMAKE_ASM_COMPILER "${SDKHOSTBINDIR}/as${TARGETSUFFIX}")
SET(CMAKE_AR "${SDKHOSTBINDIR}/ar${TARGETSUFFIX}")
SET(CMAKE_OBJDUMP "${SDKHOSTBINDIR}/objdump${TARGETSUFFIX}")
SET(CMAKE_RANLIB "${SDKHOSTBINDIR}/ranlib${TARGETSUFFIX}")

# Note that CEXP is not a shared library loader - it will not support code compiled with -fPIC
# Also exception handling is very iffy. These two options disable eh_frame creation.
#set(CMAKE_C_COMPILE_OPTIONS_PIC -fno-exceptions -fno-asynchronous-unwind-tables)

# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

SET(CMAKE_PREFIX_PATH /)

# these settings are specific to cFE/OSAL and determines which
# abstraction layers are built when using this toolchain
SET(CFE_SYSTEM_PSPNAME mcp750-vxworks)
SET(OSAL_SYSTEM_BSPTYPE genppc-vxworks6.4)
SET(OSAL_SYSTEM_OSTYPE vxworks)

Binary file modified docs/cFE Application Developers Guide.doc
Binary file not shown.
3,397 changes: 3,397 additions & 0 deletions docs/cFE Application Developers Guide.md

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion fsw/cfe-core/src/es/cfe_es_shell.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ int32 CFE_ES_ListTasks(int32 fd)
/*
** Populate the AppInfo entry
*/
Result = CFE_ES_GetTaskInfo(&TaskInfo,i);
Result = CFE_ES_GetTaskInfo(&TaskInfo,CFE_ES_Global.TaskTable[i].TaskId);

if ( Result == CFE_SUCCESS )
{
Expand Down
19 changes: 11 additions & 8 deletions fsw/cfe-core/src/evs/cfe_evs_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,6 @@ int32 CFE_EVS_WriteLogDataFileCmd(const CFE_EVS_WriteLogDataFile_t *data)
}
else
{
/* Serialize access to event log control variables */
OS_MutSemTake(CFE_EVS_GlobalData.EVS_SharedDataMutexID);

/* Copy the commanded filename into local buffer to ensure size limitation and to allow for modification */
CFE_SB_MessageStringGet(LogFilename, (const char *)CmdPtr->LogFilename, CFE_PLATFORM_EVS_DEFAULT_LOG_FILE,
OS_MAX_PATH_LEN, sizeof(CmdPtr->LogFilename));
Expand Down Expand Up @@ -198,6 +195,9 @@ int32 CFE_EVS_WriteLogDataFileCmd(const CFE_EVS_WriteLogDataFile_t *data)

if (BytesWritten == sizeof(LogFileHdr))
{
/* Serialize access to event log control variables */
OS_MutSemTake(CFE_EVS_GlobalData.EVS_SharedDataMutexID);

/* Is the log full? -- Doesn't matter if wrap mode is enabled */
if (CFE_EVS_GlobalData.EVS_LogPtr->LogCount == CFE_PLATFORM_EVS_LOG_MAX)
{
Expand Down Expand Up @@ -228,13 +228,12 @@ int32 CFE_EVS_WriteLogDataFileCmd(const CFE_EVS_WriteLogDataFile_t *data)
}
else
{
EVS_SendEvent(CFE_EVS_ERR_WRLOGFILE_EID, CFE_EVS_EventType_ERROR,
"Write Log File Command Error: OS_write = 0x%08X, filename = %s",
(unsigned int)BytesWritten, LogFilename);
break;
}
}

OS_MutSemGive(CFE_EVS_GlobalData.EVS_SharedDataMutexID);

/* Process command handler success result */
if (i == CFE_EVS_GlobalData.EVS_LogPtr->LogCount)
{
Expand All @@ -243,13 +242,17 @@ int32 CFE_EVS_WriteLogDataFileCmd(const CFE_EVS_WriteLogDataFile_t *data)
(int)CFE_EVS_GlobalData.EVS_LogPtr->LogCount, LogFilename);
Result = CFE_SUCCESS;
}
else
{
EVS_SendEvent(CFE_EVS_ERR_WRLOGFILE_EID, CFE_EVS_EventType_ERROR,
"Write Log File Command Error: OS_write = 0x%08X, filename = %s",
(unsigned int)BytesWritten, LogFilename);
}
}

OS_close(LogFileHandle);
}

OS_MutSemGive(CFE_EVS_GlobalData.EVS_SharedDataMutexID);

}

return(Result);
Expand Down
21 changes: 19 additions & 2 deletions fsw/cfe-core/src/sb/cfe_sb_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,16 @@ int32 CFE_SB_DeletePipeFull(CFE_SB_PipeId_t PipeId,uint32 AppId)

CFE_SB_UnlockSharedData(__func__,__LINE__);

/*
* Get the app name of the actual pipe owner for the event string
* as this may be different than the task doing the deletion.
*
* Note: If this fails (e.g. bad AppID, it returns an empty string
*/
CFE_ES_GetAppName(FullName, Owner, sizeof(FullName));

CFE_EVS_SendEventWithAppID(CFE_SB_PIPE_DELETED_EID,CFE_EVS_EventType_DEBUG,CFE_SB.AppId,
"Pipe Deleted:id %d,owner %s",(int)PipeId, CFE_SB_GetAppTskName(Owner,FullName));
"Pipe Deleted:id %d,owner %s",(int)PipeId, FullName);

return CFE_SUCCESS;

Expand Down Expand Up @@ -460,8 +468,17 @@ int32 CFE_SB_SetPipeOpts(CFE_SB_PipeId_t PipeId, uint8 Opts)
CFE_SB.PipeTbl[PipeTblIdx].Opts = Opts;

CFE_SB_UnlockSharedData(__func__,__LINE__);

/*
* Get the app name of the actual pipe owner for the event string
* as this may be different than the task doing the deletion.
*
* Note: If this fails (e.g. bad AppID, it returns an empty string
*/
CFE_ES_GetAppName(FullName, Owner, sizeof(FullName));

CFE_EVS_SendEventWithAppID(CFE_SB_SETPIPEOPTS_EID,CFE_EVS_EventType_DEBUG,CFE_SB.AppId,
"Pipe opts set:id %d,owner %s, opts=0x%02x",(int)PipeId, CFE_SB_GetAppTskName(Owner,FullName), (unsigned int)Opts);
"Pipe opts set:id %d,owner %s, opts=0x%02x",(int)PipeId, FullName, (unsigned int)Opts);

return CFE_SUCCESS;
}/* end CFE_SB_SetPipeOpts */
Expand Down

0 comments on commit e9f7382

Please sign in to comment.