Conceptually, I understand a microcontroller to be a very limited computer that can only run "one process". A microcontroller is what one would use when they want to interface with other electronics with strict timing requirements. This is because it lacks the timing overhead of an operating system scheduling tasks and it lacks the space overhead of all the libraries and utilities one gets with an operating system.
I understand the differences between a computer and a microcontroller, but I also know one can write an operating-system for a microcontroller.
But what about the other way around? Rather than loading an operating system on a Rasbperry Pi (or other computer), why can't I use it as a very powerful microcontroller? Is there anything stopping me other than a lack of library support?
My questions, specifically, are these:
- Is there a semantic difference between a microcontroller and a SBC? Or am I correct that they exist on a "spectrum" of hardware specs?
- Can one use a Raspberry Pi as a microcontroller (i.e. without an operating system?)
(I specify Raspberry Pi because it is very well supported and known in the SBC space. Tangentially, if yes to question part 2, I am curious if there is already library support here.)