New Technical Guide: Secure Bare-Metal Firmware Development in C
We are pleased to share the publication of a new technical guide (STIG) dedicated to secure bare-metal firmware development in C for constrained embedded microcontrollers.
This guide provides a complete methodology for implementing embedded microcontroller code in C so as to ensure sufficient quality metrics in critical contexts. It focuses exclusively on the software development and production stage, covering configuration management, production, and delivery of the software, rather than project management or full system integration.
The guide applies both to purely bare-metal developments, of the super-loop kind, and to embedded micro-kernel developments and their associated critical applications.
Guide Objectives
The guide aims to ensure the following essential elements:
- portability and testability of the embedded code and its modules
- longevity and maintainability of the code, reducing the maintenance and evolution cost over the project’s lifetime
- proof of absence of run-time errors (noRTE) across the whole codebase
- efficient and safe delivery of essential software information, including its SBOM (Software Bill of Materials), production information, and license
- performance in terms of footprint and consumption
- resilience against side-channel, fault-injection, and supply-chain attacks
Key Takeaway
The guide follows a single thread: every important property must be expressed by a contract, isolated in the right layer, verified through analysis or testing, and then linked to the artifact actually delivered.
Download the Guide
English version: Download Technical Guide (PDF)
French version: Télécharger le guide technique (PDF)
The document is published under a Free License.