Dear Arm Experts,
I found this post here in your forum, which asks the exactly the same question I have, too.
Unfortunately there was never an answer ...
Real differences between Cortex-R and M - Architectures and Processors forum - Support forums - Arm Community
Regarding our new products it would be very helpful to receive advice from your side, whether to choose M or R Cores in general.
We need very short cycle times and wonder, if the M Cores have more advanced hardware features to support this and are therefore a better option than R Cores.
Thanks in advance for your answer!
BR
Daniel
Arm isn’t saying Cortex-M can’t do real-time—they absolutely can. The distinction is more about scale and system complexity. Cortex-R is designed for high-performance complex real-time systems, while Cortex-M targets cost and power efficient microcontroller. For example, the NVIC allows M-Cores a fast entry, tail-chaining, etc to support interrupts but due to these features the max frequency of the M-Core drops significantly as you increase the number of interrupts you support. Real time systems often require some sort of redundancy, like lock/step or FuSa support which only the R cores offer. The majority of the M-Cores only support AHB interface which is inherently slower protocol which is fine for micro controller environments but less so larger systems.To your other question, they are on different Arm architectures. The Cortex-M cores are on the V6M, V7M 0r V8M architectures depending on how new the core you're looking at. Cortex-R cores are on the V7A/R, V8A/R or V9A/R architectures. While different I don't think this really impacts either the M or the R cpus as it relates to real-time systems.
In summary, if your system is:
Then the Cortex-M is often better (simpler, lower power)
If your system is:
Then the Cortex-R is the safer and more scalable choice.