web analytics
GNAT RTS for CORTEX 20160522 | Ada Forge - News
News

GNAT RTS for CORTEX 20160522

This release includes GNAT Ada Run Time Systems (RTSs) based on FreeRTOS (http://www.freertos.org) and targeted at boards with Cortex-M3, -M4, -M4F MCUs (Arduino Due, the STM32F4-series evaluation boards from STMicroelectronics.

In this release,
  • There is no longer any dependence on the STMicroelectronics' STM32Cube package.
  • The support for on-chip peripherals is limited to the SVD2Ada-generated spec files. The AdaCore 'bareboard' software (currently https://github.com/AdaCore/bareboard, but a name change is under consideration) supports the STM32 line.
  • Tasking no longer requires an explicit start (https://sourceforge.net/p/cortex-gnat-rts/tickets/5/).
  • Locking in interrupt-handling protected objects no longer inhibits all interrupts, only those of equal or lower priority (https://sourceforge.net/p/cortex-gnat-rts/tickets/18/).

https://sourceforge.net/projects/cortex-gnat-rts/files/20160522/

From Simon Wright

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).

(1) arduino-due is a Ravenscar-style RTOS based on FreeRTOS from for the Arduino Due.
See arduino-due/COPYING* for licensing terms.
On-chip peripheral support in atsam3x8e/.
Tests in test-arduino-due/.

(2) stm32f4 is a Ravenscar-style RTOS based on FreeRTOS for the STM32F4-DISC* board.
See stm32f4/COPYING* for licensing terms.
On-chip peripheral support in stm32f40x/.
Tests in test-stm32f4/.

(3) stm32f429i is a Ravenscar-style RTOS based on FreeRTOS 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) are:
AdaAda.ContainersAda.Containers.Bounded_Hashed_MapsAda.Containers.Bounded_VectorsAda.ExceptionsAda.IO_ExceptionsAda.InterruptsAda.Interrupts.NamesAda.Iterator_InterfacesAda.Real_TimeAda.StreamsAda.Synchronous_Task_ControlAda.TagsAda.Task_IdentificationInterfacesInterfaces.CInterfaces.C.StringsSystemSystem.AssertionsSystem.Address_To_Access_ConversionsSystem.Storage_ElementsGNATGNAT.Source_Info