The proposed activity is to evaluate the usage of Rust programming language in space applications, by prototyping an RTOS targeting ARM Cortex-M7 SAMV71 microcontroller together with the required BSP (Board Support Package) and a Demonstration Application. Rust safety features and its growing usage make this programming language a viable option in the space sector. It is proposed to first develop a lightweight real time operating system providing a minimal set of capabilities required for development of flight application software. This system will provide an executor, tasklets mechanisms and BSP for SAMV71. The design of the system will be guided to support potential future qualification activities. Although the project is a study, ECSS software development practices will be used to facilitate potential application in ESA projects. The practical feedback from ECSS application in Rust projects will be reported. In the second part of the activity, a small demonstration application software will be developed, providing a minimal feature-set representative of a CubeSat class project – UART communication, mode management and sensor handling. This application will showcase the viability of the developed RTOS and provide input to a Lessons Learned report, describing the encountered issues, potential problem and improvement areas, usage recommendations and proposed way forward.
The European Space Agency
Rust, but in space. The code’s on GitHub.
How can I help?
ESA might still be evaluating Rust, but China launched a 50Kg satellite last year with a rust-based RTOS: https://bupt-os.github.io/website/news/2023_12_9/satellite_launch/