Ada and SPARK drivers library for bare-metal microcontrollers, supporting ARM Cortex-M and RISC-V platforms.
Ada Drivers Library is an open-source collection of drivers and sample projects for programming microcontrollers using the Ada and SPARK languages. It provides hardware abstraction for various ARM Cortex-M and RISC-V boards, enabling developers to write reliable embedded software with modern language features. The library solves the problem of accessing microcontroller peripherals and external devices in a safe, high-integrity manner.
Embedded systems engineers and developers working with microcontrollers who want to use Ada or SPARK for safety-critical or high-reliability applications. It's particularly valuable for those targeting ARM Cortex-M or RISC-V platforms.
Developers choose Ada Drivers Library because it provides proven, production-ready drivers for popular microcontroller families while leveraging Ada's strong typing and SPARK's formal verification capabilities for increased software reliability. It's maintained by AdaCore with community contributions, ensuring ongoing support and hardware compatibility.
Ada source code and complete sample GNAT projects for selected bare-board platforms supported by GNAT.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides drivers for a range of ARM Cortex-M and RISC-V boards, including STM32, NRF52, and HiFive1, with dedicated examples for each supported platform.
Leverages Ada 2012 features like preconditions and postconditions, along with SPARK for formal verification, enabling high-integrity embedded software development.
Includes complete GNAT project examples for all supported boards, reducing initial setup time and providing practical learning resources.
Released under a 3-clause BSD license, allowing free use in both open-source and proprietary projects without restrictive copyleft terms.
Focuses on specific ARM and RISC-V boards, with some only partially supported, excluding many popular microcontrollers and architectures.
Requires GNAT compiler with Ada 2012 and the Volatile_Full_Access pragma, which may not be available in all toolchains and limits portability.
Roadmap indicates key features like Bluetooth Low Energy and USB stacks are still in development, limiting out-of-the-box functionality for certain applications.