Aerospace and Electronic Systems Magazine October 2017 - 4

Feature Article:

DOI. No. 10.1109/MAES.2017.160182

Current Use of Linux in Spacecraft Flight Software
Hannu Leppinen, Aalto University, Espoo, Finland

INTRODUCTION
Spacecraft on-board computers are responsible for controlling the
spacecraft platform, payloads, or other on-board devices. Their
mission-specific software allows communication with ground or
other on-board computers. Traditionally, on-board software has
been written close to the hardware in assembly language, Ada, C,
or C++, with or without a real-time operating system (RTOS) [1].
As the spacecraft computer hardware capabilities are increasing, spacecraft software is becoming larger and more complex,
handling more tasks from payload data processing to landing a first
stage of a launch vehicle on an ocean-going barge. Spacecraft will
still continue to include very small embedded systems that can be
developed without operating systems (OS), but some systems will
also have large software bases, requiring efficient software development processes and reuse of existing software modules.
The last decade has seen increasing use of Linux in spacecraft
on-board software. This article presents common features of spacecraft on-board computers and software and discusses potential
benefits and drawbacks of on-board Linux use. The focus of this
article is on spacecraft on-board avionics software, that is, spacecraft-controlling code that flies into orbit with the spacecraft. Other
types of computers are not included in this analysis; for example,
many laptops on the International Space Station run Linux [2].

BACKGROUND
SPACECRAFT ON-BOARD COMPUTERS
Spacecraft on-board computers are responsible for handling telecommands sent by ground, providing telemetry to the ground, processing on-board data, and controlling the spacecraft platform and
payload devices. A spacecraft may have one or several on-board
computers that handle different tasks. Similar to other embedded
computers, a spacecraft on-board computer usually has at least a
processor, random access memory (RAM), read-only memory for
boot code, mass memory, data bus interfaces, and a power supply.
Perhaps unlike many other embedded computers, some parts of
Authors' address: Aalto University, Department of Radio
Science and Engineering, Otakaari 5A, 02150 Espoo, Finland.
E-mail: (hannu.leppinen@aalto.fi).
Manuscript received August 18, 2016, revised October 12,
2016, November 27, 2016, and ready for publication January
24, 2017.
Review handled by M. Jah.
0885/8985/17/$26.00 © 2017 IEEE
4

the on-board computer may be made redundant to circumvent any
possible hardware malfunctions.
According to Eickhoff [1], radiation-hardened SPARC, PowerPC, MIPS, and Intel x86 architectures have been popular in
traditional industrial and governmental space applications. University small satellite missions have tended to use a larger variety
of processors, especially from the ARM family. According to a
2010 analysis [3], low-power microcontrollers such as the Microchip PIC series and the Texas Instruments MSP series have
been popular in CubeSats before 2010, while ARM microcontrollers were becoming more popular due to their greater processing power. Some inexpensive commercial off-the-shelf (COTS)
microcontrollers, such as the Texas Instruments Hercules family,
have safety-critical features previously usually seen in expensive
high-reliability processors, making them attractive for space applications [4].

SPACECRAFT ON-BOARD SOFTWARE
The on-board software running on the on-board computer is responsible for utilizing the computer's hardware resources and interfaces to achieve its specified mission, such as controlling the
spacecraft or some platform or payload instrument. On-board software must typically provide at least a telecommand and telemetry
interface that is utilized by ground control or some other on-board
software running on another on-board computer. On-board software can be roughly divided into three parts: hardware driver software for providing abstractions of the underlying hardware, OS for
providing task and resource management, and application software
for providing the mission-specific functionality. This division is
illustrated in Figure 1. Some simple on-board software may not
need an OS at all.
The hardware driver software is usually provided by the hardware manufacturer as a software abstraction of their hardware, and
various users of the same hardware in different industrial domains
may use the same driver software.
The OS is an optional component, and in many cases it has not
been used at all. In some cases, the OS itself may provide the abstraction of hardware instead of separate hardware driver software.
Historically, much of spacecraft flight software was written from
ground up using assembly language. Ada programming language,
which has long had advanced tasking features, has been used to
build on-board software systems running several threads of execution. However, recently the use of Ada has been reduced in favor of
using real-time OS along with C and C++ programming languages
due to the larger availability of developers for these languages.
When most of the software has been written from scratch, the end

IEEE A&E SYSTEMS MAGAZINE

OCTOBER 2017



Table of Contents for the Digital Edition of Aerospace and Electronic Systems Magazine October 2017

No label
Aerospace and Electronic Systems Magazine October 2017 - No label
Aerospace and Electronic Systems Magazine October 2017 - Cover2
Aerospace and Electronic Systems Magazine October 2017 - 1
Aerospace and Electronic Systems Magazine October 2017 - 2
Aerospace and Electronic Systems Magazine October 2017 - 3
Aerospace and Electronic Systems Magazine October 2017 - 4
Aerospace and Electronic Systems Magazine October 2017 - 5
Aerospace and Electronic Systems Magazine October 2017 - 6
Aerospace and Electronic Systems Magazine October 2017 - 7
Aerospace and Electronic Systems Magazine October 2017 - 8
Aerospace and Electronic Systems Magazine October 2017 - 9
Aerospace and Electronic Systems Magazine October 2017 - 10
Aerospace and Electronic Systems Magazine October 2017 - 11
Aerospace and Electronic Systems Magazine October 2017 - 12
Aerospace and Electronic Systems Magazine October 2017 - 13
Aerospace and Electronic Systems Magazine October 2017 - 14
Aerospace and Electronic Systems Magazine October 2017 - 15
Aerospace and Electronic Systems Magazine October 2017 - 16
Aerospace and Electronic Systems Magazine October 2017 - 17
Aerospace and Electronic Systems Magazine October 2017 - 18
Aerospace and Electronic Systems Magazine October 2017 - 19
Aerospace and Electronic Systems Magazine October 2017 - 20
Aerospace and Electronic Systems Magazine October 2017 - 21
Aerospace and Electronic Systems Magazine October 2017 - 22
Aerospace and Electronic Systems Magazine October 2017 - 23
Aerospace and Electronic Systems Magazine October 2017 - 24
Aerospace and Electronic Systems Magazine October 2017 - 25
Aerospace and Electronic Systems Magazine October 2017 - 26
Aerospace and Electronic Systems Magazine October 2017 - 27
Aerospace and Electronic Systems Magazine October 2017 - 28
Aerospace and Electronic Systems Magazine October 2017 - 29
Aerospace and Electronic Systems Magazine October 2017 - 30
Aerospace and Electronic Systems Magazine October 2017 - 31
Aerospace and Electronic Systems Magazine October 2017 - 32
Aerospace and Electronic Systems Magazine October 2017 - 33
Aerospace and Electronic Systems Magazine October 2017 - 34
Aerospace and Electronic Systems Magazine October 2017 - 35
Aerospace and Electronic Systems Magazine October 2017 - 36
Aerospace and Electronic Systems Magazine October 2017 - 37
Aerospace and Electronic Systems Magazine October 2017 - 38
Aerospace and Electronic Systems Magazine October 2017 - 39
Aerospace and Electronic Systems Magazine October 2017 - 40
Aerospace and Electronic Systems Magazine October 2017 - 41
Aerospace and Electronic Systems Magazine October 2017 - 42
Aerospace and Electronic Systems Magazine October 2017 - 43
Aerospace and Electronic Systems Magazine October 2017 - 44
Aerospace and Electronic Systems Magazine October 2017 - 45
Aerospace and Electronic Systems Magazine October 2017 - 46
Aerospace and Electronic Systems Magazine October 2017 - 47
Aerospace and Electronic Systems Magazine October 2017 - 48
Aerospace and Electronic Systems Magazine October 2017 - 49
Aerospace and Electronic Systems Magazine October 2017 - 50
Aerospace and Electronic Systems Magazine October 2017 - 51
Aerospace and Electronic Systems Magazine October 2017 - 52
Aerospace and Electronic Systems Magazine October 2017 - 53
Aerospace and Electronic Systems Magazine October 2017 - 54
Aerospace and Electronic Systems Magazine October 2017 - 55
Aerospace and Electronic Systems Magazine October 2017 - 56
Aerospace and Electronic Systems Magazine October 2017 - 57
Aerospace and Electronic Systems Magazine October 2017 - 58
Aerospace and Electronic Systems Magazine October 2017 - 59
Aerospace and Electronic Systems Magazine October 2017 - 60
Aerospace and Electronic Systems Magazine October 2017 - 61
Aerospace and Electronic Systems Magazine October 2017 - 62
Aerospace and Electronic Systems Magazine October 2017 - 63
Aerospace and Electronic Systems Magazine October 2017 - 64
Aerospace and Electronic Systems Magazine October 2017 - 65
Aerospace and Electronic Systems Magazine October 2017 - 66
Aerospace and Electronic Systems Magazine October 2017 - 67
Aerospace and Electronic Systems Magazine October 2017 - 68
Aerospace and Electronic Systems Magazine October 2017 - Cover3
Aerospace and Electronic Systems Magazine October 2017 - Cover4
http://www.brightcopy.net/allen/aesm/34-2s
http://www.brightcopy.net/allen/aesm/34-2
http://www.brightcopy.net/allen/aesm/34-1
http://www.brightcopy.net/allen/aesm/33-12
http://www.brightcopy.net/allen/aesm/33-11
http://www.brightcopy.net/allen/aesm/33-10
http://www.brightcopy.net/allen/aesm/33-09
http://www.brightcopy.net/allen/aesm/33-8
http://www.brightcopy.net/allen/aesm/33-7
http://www.brightcopy.net/allen/aesm/33-5
http://www.brightcopy.net/allen/aesm/33-4
http://www.brightcopy.net/allen/aesm/33-3
http://www.brightcopy.net/allen/aesm/33-2
http://www.brightcopy.net/allen/aesm/33-1
http://www.brightcopy.net/allen/aesm/32-10
http://www.brightcopy.net/allen/aesm/32-12
http://www.brightcopy.net/allen/aesm/32-9
http://www.brightcopy.net/allen/aesm/32-11
http://www.brightcopy.net/allen/aesm/32-8
http://www.brightcopy.net/allen/aesm/32-7s
http://www.brightcopy.net/allen/aesm/32-7
http://www.brightcopy.net/allen/aesm/32-6
http://www.brightcopy.net/allen/aesm/32-5
http://www.brightcopy.net/allen/aesm/32-4
http://www.brightcopy.net/allen/aesm/32-3
http://www.brightcopy.net/allen/aesm/32-2
http://www.brightcopy.net/allen/aesm/32-1
http://www.brightcopy.net/allen/aesm/31-12
http://www.brightcopy.net/allen/aesm/31-11s
http://www.brightcopy.net/allen/aesm/31-11
http://www.brightcopy.net/allen/aesm/31-10
http://www.brightcopy.net/allen/aesm/31-9
http://www.brightcopy.net/allen/aesm/31-8
http://www.brightcopy.net/allen/aesm/31-7
https://www.nxtbookmedia.com