This project contains various GNAT Ada Run Time Systems (RTSs) targeted at Cortex boards: so far, the Arduino Due, the STM32F4-series evaluation boards from STMicroelectronics, and the BBC micro:bit (v1)
This package includes GNAT Ada Run Time Systems (RTSs) based on FreeRTOS and targeted at boards with Cortex-M0, -M3, -M4, -M4F MCUs (respectively BBC micro:bit, Arduino Due, and the STM32F4-series evaluation boards from STMicroelectronics). For discussions, visit the dedicated Google Group.
The RTSs are all Ravenscar-based, with additional restrictions No_Exception_Propagation
and No_Finalization
. No_Exception_Propagation
means that exceptions can't be caught except in their immediate scope; instead, a Last_Chance_Handler
is called.
In each case, the board support for the RTS (configuration for size and location of Flash, RAM; clock initialization; interrupt naming) is in $RTS/adainclude
.
The Ada source is either original or based on FSF GCC (mainly 4.9.1, some later releases too).
The boards supported are
microbit
for the BBC micro:bit.
microbit/COPYING*
for licensing terms.nrf51/
.test-microbit/
.arduino-due
for the Arduino Due.
arduino-due/COPYING*
for licensing terms.atsam3x8e/
.test-arduino-due/
.stm32f4
for the STM32F4-DISC* board (and also the Crazyflie).
stm32f4/COPYING*
for licensing terms.stm32f40x/
.test-stm32f4/
.stm32f429i
for the STM32F429I-DISC* board.
stm32f429i/COPYING*
for licensing terms.stm32f429x/
.test-stm32f429i/
.The standard packages included (there are more, implementation-specific, ones) for all RTSs are:
Ada
Ada.Characters
Ada.Characters.Latin_1
Ada.Containers
Ada.Containers.Bounded_Hashed_Maps
Ada.Containers.Bounded_Vectors
Ada.Exceptions
Ada.IO_Exceptions
Ada.Interrupts
Ada.Interrupts.Names
Ada.Iterator_Interfaces
Ada.Numerics.* (except random numbers)
Ada.Real_Time
Ada.Real_Time.Timing_Events
Ada.Streams
Ada.Strings
Ada.Strings.Bounded
Ada.Strings.Maps
Ada.Synchronous_Task_Control
Ada.Tags
Ada.Task_Identification
Interfaces
Interfaces.C
Interfaces.C.Extensions
Interfaces.C.Pointers
Interfaces.C.Strings
System
System.Assertions
System.Address_To_Access_Conversions
System.Machine_Code
System.Storage_Elements
GNAT
GNAT.CRC32
GNAT.Source_Info
For installation, see the instructions.