ARM M vs R Cores

bloodline

Well-known member
Is anyone here able to explain with a simple bullet point summary, what the differences between the ARM M and R cores are?

I understand that the M cores are for embedded microcontroller applications, and the R cores are intended for “Real-time” applications, but what features facilitate the distinction?
 
First of all, I'm not an "expert" on this either and I'm just sharing some things I've picked up at some point.
Most impressive to me is that some dual core Cortex-R can do "lockstep" in a way that both cores execute the same code. This way, errors can be detected when one of the cores starts working incorrectly.
There are some more differently implemented details (instruction set , interrupt handling, stack handling, etc) For example forward error correction is implemented on the memory interfaces.


An older, detailed comparison can be found here:
https://www.design-reuse.com/articles/26106/cortex-r-versus-cortex-m.html

Translated with www.DeepL.com/Translator (free version)
 
Fantastic, cheers guys!

I’ve used Always used ARM M Cores, and when doing real time things, like UAVs, I’ve had to be really careful about trying to ensure things like interrupts were as deterministic as possible, and use plenty of watchdog timers etc… I’m just wondering if these things would be easier with an R Core.
 
Back
Top