Detailed description
Added an option for the stm32 platforms to build against picolibc instead of newlib-nano. Contrary to my expectation the resulting build uses a bit more flash:
newlib-nano:
Memory region Used Size Region Size %age Used
rom: 117576 B 128 KB 89.70%
ram: 9832 B 20 KB 48.01%
picolibc:
Memory region Used Size Region Size %age Used
rom: 117880 B 128 KB 89.94%
ram: 9576 B 20 KB 46.76%
Maybe I'm missing some optimization opportunities, but regardless I'd still prefer to have the option to build against picolibc if I choose so
Edit: Under Windows with arm-none-eabi-gcc.exe (xPack GNU Arm Embedded GCC x86_64) 15.2.1 20251203 with picolibc added I get this very welcomed saving:
Memory region Used Size Region Size %age Used
rom: 115236 B 128 KB 87.92%
ram: 9580 B 20 KB 46.78%
Please note that we not only get over 2KiB of flash saved, but also 250bytes of bss. There are no downsides that I can see. Furthermore I also expect the printf implementation of picolibc to be slightly faster
Your checklist for this pull request
- I've read the Code of Conduct
- I've read the guidelines for contributing to this repository
- It builds for hardware native (see Building the firmware)
- It builds as BMDA (see Building the BMDA)
- I've tested it to the best of my ability
- My commit messages provide a useful short description of what the commits do