Ravenscar and gcc 16

Alr seems to have deleted the rpi pico ravenscar is there any reason for this?

Also, is there any docs anywhere about what needs to be included for this runtime? i.e. how do you go about creating one?

And when if gcc 16 going to be packaged up for arm?

There is set of restrictions of Ravenscar/Jorvik in the Ada Reference Manual.

PS. Most of bare board runtimes use Jorvik profile now.

That doesn’t really tell you what packages you need from gnat.

I just rememeber bbruntimes is the project that builds a runtime, isn’t it?

Thing is, my target is arm7+arm9 in the same device.

And I’m not sure not being able to allocate tasks in a game console is a good idea.

Ok, I’m reading through the gnat runtimes and in the case of consoles, I think a custom runtime is going to be required.

I don’t understand what you mean by this. Are you saying that Alire has deleted a runtime you were using for the rpi pico? Where did you get that runtime from originally? Was it a standalone crate or the one packaged with the gnat_arm_elf toolchain?

If you want a runtime that supports Ravenscar for the Raspberry Pi Pico then this crate I maintain is probably useful for you: light_tasking_rp2040. It works with GNAT FSF 15 (gnat_arm_elf toolchain version 15) and I plan on porting it to GNAT FSF 16 when it is released.

I also have a demo project here which uses the runtime: pico_smp_demo

$ alr search ravenscar|grep full

shows nothing. and the lib dir for the arm-eabi toolchain doesn’t show it in their either.

I didn’t get far with the pico. I just wanted to take a look at it went to alr get it and it wasn’t there.

I just remembered it from your site, so I thought it was in alr.

No, as I said above, this thread is about arm7/9.

alr search ravenscar does return results though:

$ alr search ravenscar
NAME                      STATUS  VERSION  DESCRIPTION                                                          NOTES  MATCHES
aunit                             26.0.0   Ada unit test framework                                                     GPR Scenario
embedded_nrf52832           ?     15.4.0   embedded runtime for the NRF52832 SoC                                       Project_File
embedded_nrf52833           ?     15.4.0   embedded runtime for the NRF52833 SoC                                       Project_File
embedded_nrf52840           ?     15.4.0   embedded runtime for the NRF52840 SoC                                       Project_File
embedded_nrf54l_app         ?     15.4.0   embedded runtime for the nRF54L series                                      Long_Description, Project_File
embedded_rp2040             ?     15.4.0   embedded runtime for the RP2040 SoC                                         Long_Description, Project_File
embedded_rp2350             ?     15.4.0   embedded runtime for the RP2350 SoC                                         Long_Description, Project_File
embedded_stm32f0xx          ?     15.4.0   embedded runtime for the STM32F0XX SoC                                      Long_Description, Project_File
embedded_stm32g0xx          ?     15.4.0   embedded runtime for the STM32G0XX SoC                                      Long_Description, Project_File
embedded_stm32g4xx          ?     15.4.0   embedded runtime for the STM32G4XX SoC                                      Long_Description, Project_File
light_tasking_nrf52832      ?     15.4.0   light-tasking runtime for the NRF52832 SoC                                  Project_File
light_tasking_nrf52833      ?     15.4.0   light-tasking runtime for the NRF52833 SoC                                  Project_File
light_tasking_nrf52840      ?     15.4.0   light-tasking runtime for the NRF52840 SoC                                  Project_File
light_tasking_nrf54l_app    ?     15.4.0   light-tasking runtime for the nRF54L series                                 Long_Description, Project_File
light_tasking_rp2040        ?     15.4.0   light-tasking runtime for the RP2040 SoC                                    Long_Description, Project_File
light_tasking_rp2350        ?     15.4.0   light-tasking runtime for the RP2350 SoC                                    Long_Description, Project_File
light_tasking_stm32f0xx     ?     15.4.0   light-tasking runtime for the STM32F0XX SoC                                 Long_Description, Project_File
light_tasking_stm32g0xx     ?     15.4.0   light-tasking runtime for the STM32G0XX SoC                                 Long_Description, Project_File
light_tasking_stm32g4xx     ?     15.4.0   light-tasking runtime for the STM32G4XX SoC                                 Long_Description, Project_File
pico_ada_c01_blink          ?     1.6.0    Chapter 1: Blinking LEDs - Getting Started on the Raspberry Pi Pico         Long_Description

It sounds like you’re used to the old runtime profile naming convention for GNAT runtimes (zfp, ravenscar-sfp and ravenscar-full). Since GNAT FSF 12, the naming convention was changed to light, light-tasking, and embedded.

So if you wanted a ravenscar-full runtime equivalent, then the “embedded” profile runtimes should be what you’re looking for in which case I recommend the embedded_rp2040 crate for the Raspberry Pi Pico.

I gave the command I was looking for above, see the grep.

Again, THIS :backhand_index_pointing_up: is not about the pico.

Yeah I saw the grep, and assumed you were looking for something like a ravenscar-full runtime so I wanted to point out the embedded runtimes which are similar to ravenscar-full.