cortex-gnat-rts icon indicating copy to clipboard operation
cortex-gnat-rts copied to clipboard

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

Results 10 cortex-gnat-rts issues
Sort by recently updated
recently updated
newest added

... for instance, as ``` temeraire:test-stm32f4 simon$ gprbuild -P testbed -c -u -f iteration.adb Compile [Ada] iteration.adb iteration.adb:52:07: warning: in instantiation at a-cobove.adb:263 [-gnatwj] iteration.adb:52:07: warning: array aggregate using ()...

wontfix

You can’t say, for example, ``` Fixed_Delta : constant := 0.001; type Fixed is delta Fixed_Delta range -100.0 .. +100.0 with Small => Fixed_Delta; F : Fixed; ``` and then...

Since the testbeds (excluding the Arduino Due) rely on the Ada Drivers Library, there should be a mention of this in the installation instructions.

[This paper](http://www.nadler.com/embedded/newlibAndFreeRTOS.html) goes into considerable detail about dealing with the fact that some newlib functions (e.g. `printf` family) use an internal `malloc()` which is not reentrant. Reentrancy can be supported...

enhancement
question

In `freertos_bindings.c`, `_gnat_yield_from_isr()` calls `portEND_SWITCHING_ISR()`, but there’s a suggestion on the [FreeRTOS forums](https://forums.freertos.org/t/tasks-waiting-on-queues-get-stuck/10964/12) that `portYIELD_FROM_ISR()` would be appropriate.

(migrated from [Sourceforge](https://sourceforge.net/p/cortex-gnat-rts/tickets/4/)). `Ada.Real_Time.Clock` only produces valid values within the first 50 days after system startup. (Or maybe only 25 days? since the clock is signed and starts at 0).

The underlying FreeRTOS memory allocator `assert`s that it’s not in an interrupt context. This means you can’t `new` inside a protected handler.

wontfix

In `test-microbit/circle.hex`, each button is intended to act only on a push, not on a release. A toggles the speed, B toggles the direction. Building with the aarch64-hosted GCC 13.1.0...

AdaCore’s "Intro to Embedded Systems" says, in the [section on Handling Interrupts](https://learn.adacore.com/courses/intro-to-embedded-sys-prog/chapters/handling_interrupts.html), > The standard mutually exclusive access provided to the execution of protected procedures and entries is enforced whether...

question

For the risc64-elf target, `make install INSTALL_LOCALLY=no` should install to `$prefix/riscv64-elf/lib/gnat` but actually installs to `$prefix/riscv/lib/gnat`.