I have released version 15.2.0 of my configurable bareboard runtime crates.
light, light-tasking, and embedded runtime profiles are available for the following targets:
- Raspberry Pi RP2040
- Raspberry Pi RP2350 (Cortex-M33 cores)
- Nordic Semi nRF52 Series
- STMicroelectronics STM32F0xx Series
- STMicroelectronics STM32G0xx Series
- STMicroelectronics STM32G4xx Series
You can find pre-generated runtimes as crates in the Alire Community Index (v15.2.0 should show up from tomorrow), or attached as assets in the release announcement on GitHub.
The crates are named after the runtime profile and target, e.g. light_tasking_rp2040 is the light-tasking runtime for the RP2040.
Previously, these runtimes were managed in separate repositories on GitHub, but having them spread out like this was starting to make maintenance more burdensome. So I’ve now moved these runtimes to a new repository: community-bb-runtimes. If you have any problems, questions, or requests for these runtimes, that’s the place to open an issue.
Changes in v15.2.0:
- Added the light runtime profile for the RP2040 and RP2350
- RP2350: Fixed FPU not being initialized at startup
- RP2350: Fixed incorrect interrupt IDs for CPU 2 interrupts
- RP2350: Fixed compilation error with single-core runtime configurations
- RP2350: Fixed potential race condition when interrupts are nested
- RP2040: Fixed crash during context switch for tasks on the second CPU
- Improved GNATprove compatibility when analyzing projects that use the runtimes.
In this version I’ve also put a lot of attention to improving the quality of the releases. I now have automated on-target testing set up with various test cases to provide some sanity checks that target-specific things like interrupts and multicore tasking are working correctly on each supported target. This should help prevent future regressions and provide better quality assurance.