73 lines
3.6 KiB
Markdown
73 lines
3.6 KiB
Markdown
<img align="center" src=doc/images/FSFW_Logo_V3_bw.png width="50%">
|
|
|
|
# <a id="top"></a> <a name="linux"></a> 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++](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-common/src/branch/master/doc/README-eclipse.md)<br>
|
|
[Getting started with CMake](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-common/src/branch/master/doc/README-cmake.md)<br>
|
|
|
|
[Getting started with the Hosted OSAL](#this)<br>
|
|
[Getting started with the FreeRTOS OSAL on a STM32](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-stm32h7-freertos)<br>
|
|
[Getting started with the RTEMS OSAL on a STM32](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-stm32h7-rtems)<br>
|
|
[Getting started with the Raspberry Pi](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-linux-mcu)<br>
|
|
[Getting started with the Beagle Bone Black](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-linux-mcu)<br>
|
|
|
|
# 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](doc/README-rpi.md#top)
|
|
|
|
# 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](doc/README-bbb.md#top)
|
|
|
|
# Linux - Enabling RTOS functionalities
|
|
|
|
The last chapter in the [Linux README](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-linux-mcu)
|
|
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](https://egit.irs.uni-stuttgart.de/fsfw/fsfw-example-common/src/branch/master/doc/README-eclipse.md) 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
|
|
|