Skip to content

Commit db82929

Browse files
authored
Merge pull request #861 from nasa/integration-candidate
Integration Candidate: 2020-09-02
2 parents 08f6eab + aa9f96a commit db82929

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+3050
-5824
lines changed

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@ The detailed cFE user's guide can be viewed at <https://github.com/nasa/cFS/blob
1010

1111
## Version History
1212

13+
### Development Build: 6.8.0-rc1+dev65
14+
15+
- In the next major CFE release, this code will be no longer supported at all. It should be removed early in the cycle to avoid needing to maintain this compatibility code.
16+
- The CFE_ES_FindCDSInRegistry function had an unusual loop control structure with mixed types of signed and unsigned. This has the possibility of being infinite if the MaxNumRegEntries is zero due to the way the end condition is structured. Simplify to be like other loops and use unsigned int control variable.
17+
- Fixes the cast-align error (use the aligned Msg since it's available already).
18+
- HOTFIX-20200902 - Fix sb unit test setup issue.
19+
- HOTFIX 20200902 - Update documentation links for deprecated symbols.
20+
- HOTFIX 20200902 - Fix SB Test_CleanupApp_API AppID.
21+
- See <https://github.com/nasa/cFE/pull/861>
22+
1323
### Development Build: 6.8.0-rc1+dev42
1424

1525
- Removes reference from documentation.

cmake/arch_build.cmake

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,10 @@ function(add_cfe_tables APP_NAME TBL_SRC_FILES)
155155
# current content of a dependency (rightfully so).
156156
add_custom_command(
157157
OUTPUT "${TABLE_DESTDIR}/${TBLWE}.tbl"
158-
COMMAND ${CMAKE_C_COMPILER} ${TBL_CFLAGS} -c -o ${TBLWE}.o ${TBL_SRC}
158+
COMMAND ${CMAKE_C_COMPILER} ${TBL_CFLAGS}
159+
-DCFE_PLATFORM_CPU_ID=${${TGT}_PROCESSORID}
160+
-DCFE_PLATFORM_CPU_NAME="${TGT}"
161+
-c -o ${TBLWE}.o ${TBL_SRC}
159162
COMMAND ${MISSION_BINARY_DIR}/tools/elf2cfetbl/elf2cfetbl ${TBLWE}.o
160163
DEPENDS ${MISSION_BINARY_DIR}/tools/elf2cfetbl/elf2cfetbl ${TBL_SRC}
161164
WORKING_DIRECTORY ${TABLE_DESTDIR}
@@ -326,14 +329,7 @@ function(process_arch SYSVAR)
326329
endif()
327330

328331
# Generate a list of targets that share this system architecture
329-
set(INSTALL_TARGET_LIST)
330-
foreach(TGTID ${TGTSYS_${SYSVAR}})
331-
set(TGTNAME ${TGT${TGTID}_NAME})
332-
if(NOT TGTNAME)
333-
set(TGTNAME "cpu${TGTID}")
334-
endif(NOT TGTNAME)
335-
list(APPEND INSTALL_TARGET_LIST ${TGTNAME})
336-
endforeach()
332+
set(INSTALL_TARGET_LIST ${TGTSYS_${SYSVAR}})
337333

338334
# Assume use of an OSAL BSP of the same name as the CFE PSP
339335
# This can be overridden by the PSP-specific build_options but normally this is expected.
@@ -454,20 +450,14 @@ function(process_arch SYSVAR)
454450
set(TGTLIST_${APP})
455451
endforeach()
456452

457-
foreach(TGTID ${TGTSYS_${SYSVAR}})
453+
foreach(TGTNAME ${TGTSYS_${SYSVAR}})
458454

459-
set(TGTNAME ${TGT${TGTID}_NAME})
460-
if(NOT TGTNAME)
461-
set(TGTNAME "cpu${TGTID}")
462-
set(TGT${TGTID}_NAME "${TGTNAME}")
463-
endif(NOT TGTNAME)
464-
465455
# Append to the app install list for this CPU
466-
foreach(APP ${TGT${TGTID}_APPLIST})
467-
set(TGTLIST_${APP} ${TGTLIST_${APP}} ${TGTNAME})
468-
endforeach(APP ${TGT${TGTID}_APPLIST})
456+
foreach(APP ${${TGTNAME}_APPLIST})
457+
list(APPEND TGTLIST_${APP} ${TGTNAME})
458+
endforeach(APP ${${TGTNAME}_APPLIST})
469459

470-
endforeach(TGTID ${TGTSYS_${SYSVAR}})
460+
endforeach(TGTNAME ${TGTSYS_${SYSVAR}})
471461

472462
# Process each app that is used on this system architecture
473463
foreach(APP ${TGTSYS_${SYSVAR}_APPS})
@@ -478,14 +468,12 @@ function(process_arch SYSVAR)
478468

479469
# Process each target that shares this system architecture
480470
# Second Pass: Build and link final target executable
481-
foreach(TGTID ${TGTSYS_${SYSVAR}})
471+
foreach(TGTNAME ${TGTSYS_${SYSVAR}})
482472

483-
set(TGTNAME ${TGT${TGTID}_NAME})
484-
485473
# Target to generate the actual executable file
486474
add_subdirectory(cmake/target ${TGTNAME})
487475

488-
foreach(INSTFILE ${TGT${TGTID}_FILELIST})
476+
foreach(INSTFILE ${${TGTNAME}_FILELIST})
489477
if(EXISTS ${MISSION_DEFS}/${TGTNAME}_${INSTFILE})
490478
set(FILESRC ${MISSION_DEFS}/${TGTNAME}_${INSTFILE})
491479
elseif(EXISTS ${MISSION_DEFS}/${INSTFILE})
@@ -498,9 +486,8 @@ function(process_arch SYSVAR)
498486
else(FILESRC)
499487
message("WARNING: Install file ${INSTFILE} for ${TGTNAME} not found")
500488
endif (FILESRC)
501-
endforeach(INSTFILE ${TGT${TGTID}_FILELIST})
502-
endforeach(TGTID ${TGTSYS_${SYSVAR}})
503-
489+
endforeach(INSTFILE ${${TGTNAME}_FILELIST})
490+
endforeach(TGTNAME ${TGTSYS_${SYSVAR}})
504491

505492
endfunction(process_arch SYSVAR)
506493

cmake/global_functions.cmake

Lines changed: 57 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -148,30 +148,61 @@ function(read_targetconfig)
148148
set(TGTSYS_LIST)
149149
set(MISSION_APPS)
150150
set(MISSION_PSPMODULES)
151+
152+
# This while loop checks for a sequential set of variables prefixed with TGT<x>_
153+
# where <x> is a sequence number starting with 1. The first "gap" (undefined name)
154+
# is treated as the end of list.
155+
# This is the historical way of specifying CPU configs. New/future development should
156+
# prefer the name-based specification. This translates the sequential TGT<x> variable
157+
# to a name-based variable.
151158
set(TGTID 0)
152159
while(1)
153160
math(EXPR TGTID "${TGTID} + 1")
154161
if (NOT DEFINED TGT${TGTID}_NAME)
155162
break()
156163
endif()
157-
if (NOT DEFINED TGT${TGTID}_SYSTEM)
158-
set(TGT${TGTID}_SYSTEM "cpu${TGTID}")
159-
set(TGT${TGTID}_SYSTEM "${TGT${TGTID}_SYSTEM}" PARENT_SCOPE)
160-
endif()
161-
if (NOT DEFINED TGT${TGTID}_PLATFORM)
162-
set(TGT${TGTID}_PLATFORM "default" "${TGT${TGTID}_NAME}")
163-
set(TGT${TGTID}_PLATFORM "${TGT${TGTID}_PLATFORM}" PARENT_SCOPE)
164-
endif()
164+
set(CPUNAME ${TGT${TGTID}_NAME})
165+
# by default if PROCESSORID isn't specified, then use TGTID number.
166+
if(NOT DEFINED TGT${TGTID}_PROCESSORID)
167+
set(TGT${TGTID}_PROCESSORID ${TGTID})
168+
endif()
165169

166-
if (SIMULATION)
170+
# Translate the TGT<x> prefix to the CPU name prefix
171+
# also propagate the value to parent scope
172+
foreach(PROP PROCESSORID
173+
APPLIST
174+
STATIC_APPLIST
175+
STATIC_SYMLIST
176+
PSP_MODULELIST
177+
FILELIST
178+
EMBED_FILELIST
179+
SYSTEM
180+
PLATFORM)
181+
set(${CPUNAME}_${PROP} ${TGT${TGTID}_${PROP}})
182+
set(${CPUNAME}_${PROP} ${${CPUNAME}_${PROP}} PARENT_SCOPE)
183+
endforeach()
184+
list(APPEND MISSION_CPUNAMES ${CPUNAME})
185+
endwhile()
186+
187+
foreach(CPUNAME ${MISSION_CPUNAMES})
188+
if (DEFINED SIMULATION)
167189
# if simulation use simulation system architecture for all targets
168190
set(TOOLCHAIN_NAME "${SIMULATION}")
169-
else (SIMULATION)
191+
elseif (DEFINED ${CPUNAME}_SYSTEM)
170192
# get the target system arch identifier string
171-
set(TOOLCHAIN_NAME "${TGT${TGTID}_SYSTEM}")
172-
endif (SIMULATION)
193+
set(TOOLCHAIN_NAME "${${CPUNAME}_SYSTEM}")
194+
else()
195+
# assume a toolchain name matching the CPU name
196+
set(TOOLCHAIN_NAME "${CPUNAME}")
197+
set(${CPUNAME}_SYSTEM ${TOOLCHAIN_NAME} PARENT_SCOPE)
198+
endif ()
199+
200+
if (NOT DEFINED ${CPUNAME}_PLATFORM)
201+
set(${CPUNAME}_PLATFORM "default" "${CPUNAME}")
202+
set(${CPUNAME}_PLATFORM "${${CPUNAME}_PLATFORM}" PARENT_SCOPE)
203+
endif()
173204

174-
set(BUILD_CONFIG ${TOOLCHAIN_NAME} ${TGT${TGTID}_PLATFORM})
205+
set(BUILD_CONFIG ${TOOLCHAIN_NAME} ${${CPUNAME}_PLATFORM})
175206

176207
# convert to a the string which is safe for a variable name
177208
string(REGEX REPLACE "[^A-Za-z0-9]" "_" SYSVAR "${BUILD_CONFIG}")
@@ -181,25 +212,25 @@ function(read_targetconfig)
181212

182213
# if the "global" applist is not empty, append to every CPU applist
183214
if (MISSION_GLOBAL_APPLIST)
184-
list(APPEND TGT${TGTID}_APPLIST ${MISSION_GLOBAL_APPLIST})
185-
set(TGT${TGTID}_APPLIST ${TGT${TGTID}_APPLIST} PARENT_SCOPE)
215+
list(APPEND ${CPUNAME}_APPLIST ${MISSION_GLOBAL_APPLIST})
216+
set(${CPUNAME}_APPLIST ${${CPUNAME}_APPLIST} PARENT_SCOPE)
186217
endif (MISSION_GLOBAL_APPLIST)
187218

188219
if (MISSION_GLOBAL_STATIC_APPLIST)
189-
list(APPEND TGT${TGTID}_STATIC_APPLIST ${MISSION_GLOBAL_STATIC_APPLIST})
190-
set(TGT${TGTID}_STATIC_APPLIST ${TGT${TGTID}_STATIC_APPLIST} PARENT_SCOPE)
220+
list(APPEND ${CPUNAME}_STATIC_APPLIST ${MISSION_GLOBAL_STATIC_APPLIST})
221+
set(${CPUNAME}_STATIC_APPLIST ${${CPUNAME}_STATIC_APPLIST} PARENT_SCOPE)
191222
endif (MISSION_GLOBAL_STATIC_APPLIST)
192223

193224
# Append to global lists
194225
list(APPEND TGTSYS_LIST "${SYSVAR}")
195-
list(APPEND TGTSYS_${SYSVAR} "${TGTID}")
196-
list(APPEND TGTSYS_${SYSVAR}_APPS ${TGT${TGTID}_APPLIST})
197-
list(APPEND TGTSYS_${SYSVAR}_STATICAPPS ${TGT${TGTID}_STATIC_APPLIST})
198-
list(APPEND TGTSYS_${SYSVAR}_PSPMODULES ${TGT${TGTID}_PSP_MODULELIST})
199-
list(APPEND MISSION_APPS ${TGT${TGTID}_APPLIST} ${TGT${TGTID}_STATIC_APPLIST})
200-
list(APPEND MISSION_PSPMODULES ${TGT${TGTID}_PSP_MODULELIST})
226+
list(APPEND TGTSYS_${SYSVAR} "${CPUNAME}")
227+
list(APPEND TGTSYS_${SYSVAR}_APPS ${${CPUNAME}_APPLIST})
228+
list(APPEND TGTSYS_${SYSVAR}_STATICAPPS ${${CPUNAME}_STATIC_APPLIST})
229+
list(APPEND TGTSYS_${SYSVAR}_PSPMODULES ${${CPUNAME}_PSP_MODULELIST})
230+
list(APPEND MISSION_APPS ${${CPUNAME}_APPLIST} ${${CPUNAME}_STATIC_APPLIST})
231+
list(APPEND MISSION_PSPMODULES ${${CPUNAME}_PSP_MODULELIST})
201232

202-
endwhile()
233+
endforeach()
203234

204235
# Remove duplicate entries in the generated lists
205236
list(REMOVE_DUPLICATES TGTSYS_LIST)
@@ -214,6 +245,7 @@ function(read_targetconfig)
214245
set(TGTSYS_LIST ${TGTSYS_LIST} PARENT_SCOPE)
215246
set(MISSION_APPS ${MISSION_APPS} PARENT_SCOPE)
216247
set(MISSION_PSPMODULES ${MISSION_PSPMODULES} PARENT_SCOPE)
248+
set(MISSION_CPUNAMES ${MISSION_CPUNAMES} PARENT_SCOPE)
217249

218250
foreach(SYSVAR ${TGTSYS_LIST})
219251
set(TGTSYS_${SYSVAR} ${TGTSYS_${SYSVAR}} PARENT_SCOPE)
@@ -229,7 +261,7 @@ function(read_targetconfig)
229261
list(REMOVE_DUPLICATES TGTSYS_${SYSVAR}_PSPMODULES)
230262
set(TGTSYS_${SYSVAR}_PSPMODULES ${TGTSYS_${SYSVAR}_PSPMODULES} PARENT_SCOPE)
231263
endif(TGTSYS_${SYSVAR}_PSPMODULES)
232-
endforeach(SYSVAR IN LISTS TGTSYS_LIST)
264+
endforeach(SYSVAR ${TGTSYS_LIST})
233265

234266
endfunction(read_targetconfig)
235267

cmake/sample_defs/cpu1_msgids.h

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -88,21 +88,6 @@
8888
#define CFE_TBL_REG_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_TBL_REG_TLM_MSG /* 0x080C */
8989
#define CFE_SB_ALLSUBS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ALLSUBS_TLM_MSG /* 0x080D */
9090
#define CFE_SB_ONESUB_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */
91-
92-
#ifndef CFE_OMIT_DEPRECATED_6_7
93-
#define CFE_ES_SHELL_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_SHELL_TLM_MSG /* 0x080F */
94-
#endif
95-
9691
#define CFE_ES_MEMSTATS_TLM_MID CFE_MISSION_TLM_MID_BASE1 + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */
9792

98-
/*
99-
* MID definitions by these older names are required to make some existing apps compile
100-
* These are deprecated and should be removed after CFE 6.6
101-
*/
102-
#ifndef CFE_OMIT_DEPRECATED_6_6
103-
104-
#define CFE_EVS_EVENT_MSG_MID CFE_EVS_LONG_EVENT_MSG_MID
105-
106-
#endif
107-
10893
#endif

0 commit comments

Comments
 (0)