[Rene Strange] has graced these honest pages a short time in the past with a candy Raspberry Pi software program primarily based poly synth, with a tantalising reference to it being a naked steel software. So now, we’ll look into circle, the naked steel programming surroundings that it’s primarily based upon. The platform consists of a big set of C++ lessons to entry the {hardware} in addition to carry out duties akin to activity creation and scheduling within the cooperative multitasking, multicore surroundings. Supporting all Raspberry Pi boards from model 2 onwards (not together with the Pico!) in each 32-bit and 64-bit flavours, the surroundings is fairly full. Lessons are supplied for USB, networking, FatFS, in addition to extra mundane duties akin to coping with interrupts. On high of those lessons there are a pile of application-specific libraries, overlaying capabilities akin to show interfacing, GUIs utilizing a wide range of frameworks, and a few extra esoteric functions akin to interfacing to a Pico, and even sending the system log to a distant internet browsers!
Lessons and libraries nevertheless, do not all the time assist by themselves, which is the place the 42 (sure, we all know) code examples are available very useful. They’ve supplied instance functions for some enjoyable stuff like drawing Mandelbrot fractals to the show, in addition to some extra mundane duties that we’ve to take care of akin to getting that pesky DMA controller to play good with the SPI {hardware}. All-in-all, this seems to be like an ideal set of instruments for taking full benefit of some pretty beefy {hardware} to your subsequent embedded venture that wants loads of sources, however not all that pointless working system stuff.
Maybe not fairly as full as circle, however we have seen a good few Raspberry Pi Naked steel tasks over time, just like the Nerdsynth, primarily based on the PiZero, and this neat little naked steel meeting language clone of starfox.
Thanks [Ruhan] for the ideas!
Header: Aryan Patidar, CC BY 4.0/Evan-Amos, Public area.