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:
- MSP430 runtime sources (together with other runtimes) – https://gitrepos.estec.esa.int/taste/kazoo
- Custom Ada toolchain – https://github.com/n7space/adac-hybrid-msp430
- Customized MSP430 emulator – https://github.com/n7space/MSP430-Emulator
- DemoSat project – https://gitrepos.estec.esa.int/taste/msp430-demo-sat
- DemoSat video presentation – MSP430 DemoSat on TASTE
- MBSE2020 DemoSat presentation –
https://indico.esa.int/event/329/contributions/5535/attachments/3891/5622/1200_-_Presentation_-_Tiny_Runtime_to_Run_Model-Based_Software_on_CubeSats.pdf - TASTE – https://taste.tools/
- PUS C Deployment Tool presentation -https://indico.esa.int/event/345/contributions/5444/attachments/3830/5405/Presentation_-_Deployment_of_the_PUS-C_Standard.pdf
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.