Skip to content
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
Ada Other
  1. Ada 98.7%
  2. Other 1.3%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
arduino-due
common
compiler-dummy-rts
demos-arduino-due
microbit
python
stm32f4
stm32f429i
test-arduino-due
test-common
test-microbit
test-stm32f4
test-stm32f429i
.gitignore
.hgignore
FreeRTOS.gpr
INSTALL.md
LICENSE
Makefile
README.md

README.md

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. Support for the on-chip peripherals is also included, in Ada spec files generated by SVD2Ada.

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.

    • See microbit/COPYING* for licensing terms.
    • On-chip peripheral support in nrf51/.
    • Tests in test-microbit/.
  • arduino-due for the Arduino Due.

    • See arduino-due/COPYING* for licensing terms.
    • On-chip peripheral support in atsam3x8e/.
    • Tests in test-arduino-due/.
  • stm32f4 for the STM32F4-DISC* board (and also the Crazyflie).

    • See stm32f4/COPYING* for licensing terms.
    • On-chip peripheral support in stm32f40x/.
    • Tests in test-stm32f4/.
  • stm32f429i for the STM32F429I-DISC* board.

    • See stm32f429i/COPYING* for licensing terms.
    • On-chip peripheral support in stm32f429x/.
    • Tests in 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.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.

You can’t perform that action at this time.