indico will be upgraded to the latest version on Tuesday 30th July. It may be unavailable all day.

4 June 2024
Webex / ESTEC
Europe/Amsterdam timezone

ARM BSP/BSW

4 Jun 2024, 10:50
45m
EF103 (Webex / ESTEC)

EF103

Webex / ESTEC

Speakers

David Perillo Konrad Grochowski

Description

In the scope of the “ARM Board Support Package Criticality B Qualification” project two separate software products were created: BSP (Board Support Package) and BSW (Boot Software), targeting ARM-based space-grade microcontrollers – SAMRH71F20 and SAMV71Q21.
Board Support Package contains the low-level drivers for the peripherals of the microcontrollers and validation test suites for qualification of those drivers.
Boot Software is a low-level software, designed to perform boot, initialization and basic self-tests of the microprocessor platform. The BSW starts at CPU reset and finishes by executing the custom, user-provided, Application Software (ASW) image. It is responsible for uploading and patching of the ASW images. The BSW data package contains validation test suite for qualification on selected platforms.
Both items were developed in accordance with ECSS standards tailored for criticality category B and BSW requirements specification was derived from SAVOIR Flight Computer Initialisation Sequence Generic Specification (Issue 2.2). The aim was to provide reusable software, customizable and tailorable for various uses.
Objectives of the project were successfully met. The designed software components have been successfully implemented and validated on the SAMRH71F20 and SAMV71Q21 development boards, achieving (pre)qualified status. All unit, integration and validation tests were executed on the target hardware and have passed. Code coverage quality metric goals have been achieved and measured with unit tests. Documentation compliant with ECSS requirements and evidence for criticality level B has been provided.
To ensure proper quality of the code, various static and dynamic analysis tools were constantly used – they were integrated into Continuous Integration infrastructure and were checking each change to the repository. Multiple additional rules were enabled and their reports reviewed in tools like SonarCloud, clang-tidy and cppcheck. No critical bugs were found, but few maintainability, readability and portability issues were found and fixed.
The software already found it way into multiple deployments, including ESA missions (Comet Interceptor, Ariel, Envision and Truths) and commercial uses. Those provided a valuable insight into configurability capabilities of the products.
The demonstration version of the BSW can be obtained at https://bootloader.space, alongside the graphical tool for interfacing with the bootloader.
Future of the products include porting to SAMRH707F18 and LEON3, providing support for other communication links (Ethernet, CAN) and hopefully more deployments.

Presentation materials