forked from ROMEO/obsw
48 lines
2.6 KiB
Markdown
48 lines
2.6 KiB
Markdown
# ROMEO Onboard Software (OBSW)
|
|
## What is ROMEO?
|
|
|
|
[For a broader introduction and documentation refer to the OBSW Wiki in the ROMEO Knowledge Base](https://openproject.mm.intra.irs.uni-stuttgart.de/projects/romeo-phase-c/wiki/obsw). This README gives a very brief introduction and aims to document the compile process for experienced developers.
|
|
[_Research and Observation in Medium Earth Orbit (ROMEO)_](https://www.irs.uni-stuttgart.de/en/research/satellitetechnology-and-instruments/smallsatelliteprogram/romeo/) is the third small satellite of the Institute of Space Systems (IRS), University of Stuttgart with the objective of technology demonstration in Medium and Low Earth Orbit (MEO/LEO) with a mission duration of 1 year.
|
|
|
|
The Onboard Software (OBSW) is written in Rust for run-time stability. The implemented framework is losely based on the C++ Flight Software Framework (FSFW) developed at the IRS in cooperation with industry. The shift to Rust was discussed in Paul Nehlich's master thesis: [_Analysis and preparation of the transformation of the Flight Software Framework from C++ to Rust_](https://www.researchgate.net/publication/372439213_Analysis_and_preparation_of_the_transformation_of_the_Flight_Software_Framework_from_C_to_Rust).
|
|
|
|
<img src="https://egit.irs.uni-stuttgart.de/romeo/obsw/media/branch/main/romeo_design_from_website.bmp" alt="ROMEO Preliminary Design" width="400"/>
|
|
|
|
(design from IRS ROMEO Website)
|
|
|
|
## How to Configure This Repository? TODO
|
|
|
|
|
|
|
|
# First Stage Bootloader (FSBL)
|
|
FSBL code is at https://github.com/Xilinx/embeddedsw/tree/xilinx_v2024.1/lib/sw_apps/zynq_fsbl
|
|
|
|
## Scope
|
|
This is the central repository for the flight software of the ROMEO satellite.
|
|
It will eventually become the new base of a Rust Flight Software Framework replacing the C++ Flight Software Framework of the FLP, EIVE and SOURCE.
|
|
|
|
The current working steps are:
|
|
|
|
- Build Toolchain (Daniel Philipp)
|
|
- Hardware itnerfaces (Paul Nehlich)
|
|
- CAN Bus (Andy Hinkel)
|
|
- RS422 (Paul Nehlich, Joris Janßen)
|
|
- Device Handling Fundamentals (Joris Janßen)
|
|
- Framework Core Component Implementation (Paul Nehlich, Ulrich Mohr)
|
|
- Integration of Space Packets and PUS Services (to be scheduled, Paul Nehlich)
|
|
- OBC Board support and Linux Boot Management (Michael Steinert)
|
|
|
|
- Device Integration
|
|
- AOCS
|
|
- TCS
|
|
- Communications Interfaces
|
|
|
|
|
|
## How to build the software?
|
|
|
|
Consider using Docker or setting up a local compile toolchain.
|
|
Please refer to [BUILD_WITH_DOCKER.md](./BUILD_WITH_DOCKER.md) or [BUILD_WITH_CMAKE.md](./BUILD_WITH_CMAKE.md).
|
|
|
|
## How to debug on hardware?
|
|
|
|
Please refer to [DEBUG_ON_ZEDBOARD.md](./DEBUG_ON_ZEDBOARD.md) |