NASA’s cFS is a platform- and project-independent, reusable software framework and set of reusable software applications. The cFS architecture is composed of three key aspects — a dynamic run-time environment, layered software and a component-based design — that combine to make the cFS suitable for reuse on any number of NASA flight projects and embedded software systems, at a significant cost savings.
The flight software framework takes advantage of a rich heritage of successful Goddard Space Flight Center flight software efforts and addresses the challenges of rapidly increasing software development costs and schedules due to the constant changes and advancements in flight hardware.
Using the proven low power and high performance offered by the NXP MPC8548E PowerQuicc processor, along with the advanced Linux environment of Xenomai real-time Linux, Aitech’s SP0-S space processor has been demonstrated to NASA running Linux 4.14 with Xenomai 3.0.6 to provide hard real-time, hard deadline guarantees.
The demo was created by EFSI for NASA Johnson Space Flight Center, where NASA's cFS was compiled to run on Xenomai 3's hard real-time Cobalt POSIX implementation. Using Xenomai's temporal partitioning scheduler, multiple instances of CFS were run and communicated across the partition boundary with SBM (software bus networking), a JSC (Johnson Space Center) product that expands the cFS software bus to other cFS runtime instances. Using this environment, multiple cFS instances run completely independent of each other.
The temporal partitioning and cFS combination is used to safeguard a critical application and a noncritical application, such as GN&C application or an instrument application. Additionally, it could be used in a voting scheme to increase overall radiation tolerance of a spacecraft system.
NASA's open source cFS will be demonstrated by EFSI at Aitech’s booth #1239 during this year's 35th National Space Symposium in Colorado Springs, Colorado.
The Aitech SP0-S features multiple hardware I/O and software options, including ample ECC-protected SDRAM, and also includes user Flash and EEPROM and auto-failover, redundant boot Flash, in addition to two on-board GbE ports, serial ports, discrete I/O, temperature sensors, three Watchdog timers, and more. These attributes increase a system’s ability to easily scale to more complex, compute intensive applications, enabling fast integration that saves development time and money.
George Romaniuk, Director of space product management at Aitech, said that guaranteeing real-time processor performance, low process-dispatch latencies, coupled with minimal process run-time jitter and complete partition independence, are challenging in a real-time operating environment. By using Aitech’s optimized SP0-S drivers, combined with EFSI’s Linux distribution, these computing obstacles can be overcome. The integration of cFS into Aitech’s high TRL space processor clearly embodies NASA’s mandate to ‘Test what you fly, fly what you test.’
Charlie Rogers, VP of EFSI, noted, that cFS incorporates lessons learned and mission operation experience from years of NASA missions. As a reusable layered open-source flight software application, it’s being used by NASA, and many spacecraft vendors, for several upcoming missions. Mission classes that will use cFS range from manned flights to small cubesat missions.