FreeRTOS Topics
This appendix describes topics relevant to GNAT Pro for FreeRTOS.
Supported Run-Time Libraries
GNAT Pro for FreeRTOS is currently provided with a single runtime: the Light runtime. This runtime allows the development of applications that work with a small runtime profile and do not require tasking.
Supported Targets
GNAT Pro for FreeRTOS currently supports the following target architectures for FreeRTOS:
Generic ARMv7 Cortex-A9 with VFPv3 floating point support
FreeRTOS Integration and Dependencies
The runtime targets a generic FreeRTOS under the assumption that a target with FreeRTOS is already provided with a BSP and toolchain. When compiling an Ada program with that runtime the compiler will produce a partially linked binary that can be linked into the BSP and FreeRTOS runtime library. The Ada runtime itself does provide neither FreeRTOS nor a BSP. The produced binary will provide the main symbol that can be called by the BSP.
Getting Started with an Ada application on FreeRTOS
A FreeRTOS application can be built like any other cross Ada application. Simply providing the target and runtime to the build command is sufficient.
gprbuild -P project.gpr --target=arm-freertos --RTS=light-v7a-fp
The generated partially linked binary can then be linked into the existing FreeRTOS infrastructure.
Ada.Text_IO on FreeRTOS
FreeRTOS is usually accompanied by a libc implementation such as newlib. The Ada runtime uses the libc APIs provided by such an implementation to implement Ada.Text_IO.
Foreign Thread Support on Light
The Light runtime for FreeRTOS currently does not support integrating with native FreeRTOS tasks. This feature is planned for the future.