Project Context
This project was conducted for Continental (Conti) and aimed to develop a robust Hardware Abstraction Layer (HAL) for controlling small satellite microcontrollers (MCUs). The main task of these MCUs was the precise acquisition of sensor data such as temperature, voltages, and pressure.
Technical Challenge & Implementation
The central requirement was the complete MCU independence of the abstraction layer. Although the standard platforms were STM32 and STM8, the HAL had to be designed so flexibly that it could be easily ported to other architectures.
Since the HAL served as the basis for a multitude of subsequent projects, implementation quality was the top priority.
Quality Management & Tools
To meet the high requirements for reliability and modularity, modern software engineering methods were used:
- Static Code Analysis: Ensuring code quality and adherence to standards already during development.
- Unit Testing & Test Coverage: Intensive verification of logic with a focus on C0 and C1 Coverage, to ensure that every branch and every instruction was checked.
- Automated Testing: Integration into CI/CD-like workflows for continuous quality assurance.
- Documentation: Complete documentation of the API and internals using Doxygen, to ensure reusability in other projects.
Thanks to this strict quality focus, the HAL could be successfully used as a reliable foundation in numerous satellite projects.