Reading time ( words)
Aitech and Embedded Flight Systems Inc. (EFSI) have partnered to integrate NASA's core Flight System (cFS) into Aitech’s modular SP0-S space SBC.
NASA’s cFS is a platform- and project-independent, reusable software framework and set of reusable software applications 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.
“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,” says George Romaniuk, director of space product management at Aitech. “By using Aitech’s optimized SP0-S drivers, combined with EFSI’s Linux distribution, we can overcome these computing obstacles.”
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.
“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,” says Charlie Rogers, vice president of EFSI.
Romaniuk adds that 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.’
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.