Ruptor wrote:I hear what you are saying from your experience but I don't understand how an 800 MHz cpu can't keep up with an 8 MHz and not sure what MMIO has to do with it? There might be a problem with the number of IO lines on the RPi but a speed problem.
Firstly, the RPi GPIO, SPI etc. are unproportionally slow, even a standard >50 MHz microcontroller is better in those diciplines. You can not judge things by clock rates etc. but must take into account the gaps between accesses. Secondly, even if the RPi had good throughput on the GPIO connector (which it has not) one needs "hard" realtime performance to emulate a CPU. Which means it must always meet timing constraints under
all circumstances, not just in 99.9% of the circumstances. Here comes the second problem, as the RPi usually needs to run an OS to meet expectations. Programming a "hard" realtime system on a bare metal basis is not an easy task, and very restrictive when it comes to the features people are used to from Linux.
(I just say "hard" realtime to make clear that I mean realtime. "Soft" realtime is no realtime, but many don't fully understand that matter.)