5 ms·
TLDR: Ultibo is a bare-metal environment written completely in Free Pascal. Because it supports multi-threading you can see it as Unikernel Operating System. Yo
by pulse7 4y ago
TLDR: Ultibo is a bare-metal environment written completely in Free Pascal. Because it supports multi-threading you can see it as Unikernel Operating System. You develop your bare-metal program in Lazarus IDE in Free Pascal and use Ultibo as (unikernel) library for your application. After compilation you get the Raspberry Pi image file which you put on your SD-card and run the program on RPI - baremetal. It has support for USB, Ethernet, FAT, NTFS, ...
- Sunspark 4y agoI knew holding on to my Pascal textbook since the 80s would come in handy one day. :) In all seriousness though, I would like to understand this a bit better as I have not heard of this project before. Is Ultibo actually written in assembler, and then when you compile your Pascal program the assembler boot modules along with the compiled program code are merged together? To me, bare-metal means assembler, or if you're really hardcore, binary.
- djur 4y agoIt doesn't necessarily mean assembly, just the absence of a separate operating system. It looks like Ultibo is mostly written in Pascal, with a small amount of inline assembly to initialize the hardware, etc. https://github.com/ultibohub/Core/blob/master/source/rtl/ultibo/core/bootrpi.pas https://github.com/ultibohub/Core/blob/master/source/rtl/ult...
- lodovic 4y agoBut if interpreted it wouldn't be bare metal, no?
- porcoda 4y agoWho said it’s interpreted?
- djur 4y agoI think the line there is blurry. If someone said "bare metal Smalltalk" I'd probably assume they were referring to a Smalltalk VM running directly on the hardware.
- nine_k 4y agoBare metal Java exists, because Java-oriented CPUs were and are a thing. Have you realized that every smart card you have, like a bank card, or a SIM card in your phone, runs Java code inside, using such a Java-optimized CPU? https://en.wikipedia.org/wiki/Java_Card https://en.wikipedia.org/wiki/Java_Card
- djur 4y agoYes, I'm familiar with that. Why do you ask?
- Smoosh 4y agoProgramming in PASCAL by Grogono ? I still have mine.
- nine_k 4y agoPascal is totally fine for bare metal programming. (Modula-2 would be better, but anyway.) Early versions of macOS [1] were written in Pascal. [1]: https://en.wikipedia.org/wiki/Category:Pascal_(programming_language)_software https://en.wikipedia.org/wiki/Category:Pascal_(programming_l...
- deleted 4y ago[deleted]