3 ms·
I’ve been playing with bare metal Raspberry Pi programming and really enjoying it. There are two great frameworks — Circle and Ultibo. The former is in C++, but
by incanus77 5y ago
I’ve been playing with bare metal Raspberry Pi programming and really enjoying it. There are two great frameworks — Circle and Ultibo. The former is in C++, but the latter is in… Free Pascal. Which is kinda weird but kinda fun. Having a Pi boot up and run your application in 2-3 seconds is pretty stunning.
- jvanderbot 5y agoHold up. Do all the peripherals work?
- incanus77 5y agoI mean, it kind of depends what you're looking for. But out of the box, you get: - HDMI video (I've only tried the first on Pi 4's) - HDMI sound, PWM sound, headphone sound - I2C controller/peripheral base classes - SPI support - serial logging - USB controller/hub PnP support, including mouse, keyboard, and gamepads - FAT support I haven't messed with networking or wireless of any sort yet. Not needed for my use case, but I believe ethernet is there, at least.
- drivers99 5y agoI'll jump on your thread because it's similar in some ways. I'm learning Forth and more importantly, how to implement Forth from scratch. I'm targeting bare metal Raspberry Pi (especially the Zero at first). Looks like someone already combined bare metal Pi stuff from Alex Chadwick and an arm port of jonesforth (by Richard WM Jones which is in assembly but runs on Linux x86) but it also uses a lot of C libraries and stuff that they've added for USB keyboards etc and I just want everything to be a minimal assembly kernel and then build up from there in Forth itself. This is the branch that has taken things the farthest that I ran across: https://github.com/Avoncliff/pijFORTHos https://github.com/Avoncliff/pijFORTHos
- jvanderbot 5y agoAside: I'll never understand why C++ immediately implies everything needs to be classes. In fact, deep class hierarchies that I've seen in other projects muddle the design and confuse extensibility. I much prefer a C++ lite, with stl library, interfaces instead of classes, and c++ syntax sugar + procedural programming, please.