The FSFW example for MCUs running Linux, using the FSFW Linux OSAL. Currently implemented for the Raspberry Pi and the Beagle Bone Black
Go to file
2021-07-14 13:56:50 +02:00
bsp_linux some linux fixes 2021-06-11 14:01:11 +02:00
cmake renamed submodule 2021-06-11 13:51:30 +02:00
doc updated README 2021-06-11 14:27:56 +02:00
example_common@d79ab3df35 some linux fixes 2021-06-11 14:01:11 +02:00
fsfw@22693eee50 tmtc update 2021-07-14 13:56:50 +02:00
fsfw_hal@cd0dfc49d5 some linux fixes 2021-06-11 14:01:11 +02:00
misc/eclipse added init project files 2021-06-11 14:28:26 +02:00
tmtc tmtc update 2021-07-14 13:56:50 +02:00
.gitignore tmtc update 2021-07-14 13:56:50 +02:00
.gitmodules tmtc update 2021-07-14 13:56:50 +02:00
CMakeLists.txt renamed binary 2021-06-11 14:02:28 +02:00
LICENSE added more files 2021-06-11 12:50:14 +02:00
NOTICE added more files 2021-06-11 12:50:14 +02:00
README.md updated README 2021-06-11 14:27:56 +02:00

FSFW Example Application

This repository features a demo application. The example has been run successfully on the following platforms:

  • Linux host machine with the Linux OSAL or the Host OSAL
  • Windows with the Host OSAL
  • STM32H743ZI-Nucleo with the FreeRTOS OSAL
  • Raspberry Pi with the Linux OSAL
  • STM32H743ZI-Nucleo with the RTEMS OSAL

The purpose of this example is to provide a demo of the FSFW capabilities. However, it can also be used as a starting point to set up a repository for new flight software. It also aims to provide developers with practical examples of how the FSFW is inteded to be used and how project using the FSFW should or can be set up and it might serve as a basic test platform for the FSFW as well to ensure all OSALs are compiling and running as expected.

The repository contains a Python TMTC program which can be used to showcase the TMTC capabilities of the FSFW (currently, using the ECSS PUS packet standard).

Configuring the Example

The build system will copy three configuration files into the build directory:

  1. commonConfig.h which contains common configuration parameters
  2. OBSWConfig.h which can contain machine and architecture specific configuration options
  3. FSFWConfig.h which contains the configuration for the flight software framework

These files can be edited manually after CMake build generation.

Index

Getting started with Eclipse for C/C++
Getting started with CMake

Getting started with the Hosted OSAL
Getting started with the FreeRTOS OSAL on a STM32
Getting started with the RTEMS OSAL on a STM32
Getting started with the Raspberry Pi
Getting started with the Beagle Bone Black

Getting started on the Raspberry Pi

THe README so setup and run the example on a Raspberry Pi can be found in the following file

Getting started on the Raspberry Pi

Getting started on the Beagle Bone Black

THe README so setup and run the example on a Beagle Bone Black can be found in the following file

Getting started on the Beagle Bone Black

Linux - Enabling RTOS functionalities

The last chapter in the Linux README specifies some steps required to cleanly run the FSFW on a (host) Linux system if real time functionalities are turned on via FSFWConfig.h.

Setting up Eclipse for CMake projects

The separate Eclipse README specifies how to set up Eclipse to build CMake projects. Separate project files and launch configurations for the MinGW build were provided. The debug output is colored by default. It is recommended to install the ANSI Escape in Console plugin in Eclipse so the coloring works in the Eclipse console. On Windows, it is recommended to run the applicaton with the Windows command line for the printout to work properly. You can do this by simply double-clicking the binary or using start <Exe> in the Windows command line