Tiny Runtime to Run Model-Based Software on CubeSats

CubeSats are small, low-cost satellites, usually built from commonly available components. They are widely used in academic and R&D projects. TASTE is ESA’s toolchain targeting embedded systems using a model-based development approach. MSP430FR5969 is a general purpose, ultra-low-power, radiation hardened and affordable mixed-signal microcontroller, ideal for use in either small satellites or subsystems of larger ones. It is a low-resource platform (16-bit architecture, 64 kB of memory and 16 MHz clock), sufficient for many embedded tasks, but problematic for high-level model-based tooling.

The Tiny Runtime to Run Model-Based Software on CubeSats project, which was funded by the European Space Agency, delivered a low-footprint runtime for MSP430FR5969 microcontroller for the TASTE ecosystem, thus making it easier for academia and new-space companies to deliver MSP430 based solutions, built using standard modelling languages (ASN.1, AADL and SDL) and enhanced using traditional low-level C and Ada code. The runtime development required assembling an Ada compiler toolchain for MSP430FR5969, contributing to MSP430 FreeRTOS port, as well as improving an open-source MSP430 emulator and ESA’s ASN.1 compiler.

The runtime was validated by a developing an example CubeSat-class system – DemoSat. This activity showcased a full model-based workflow, starting with system design in Capella, communication protocol specification using PUS C Deployment Tool, and finally software design, implementation and testing in TASTE.

Project demonstration video:

Resources:

Disclaimer: This work performed during this project was carried out under a programme of, and funded by, the European Space Agency. The views expressed here can in no way be taken to reflect the official opinion of the European Space Agency.