ST seems to consistently put out faster chips [1]. I think the better question is why bother though? The real reason to use a Cortex-M is determinism in hard real-time systems. I'm sure DDR3 and PCIe would be cool in an MCU and people would certainly make some interesting things with it, but at that point you either aren't making a hard real-time system and would benefit greatly from an MPU, allowing you to run Linux and benefit from the wealth of drivers available for these interfaces, or your real-time deadlines are so tight an FPGA would be a better choice. The real advantage of the Cortex-Ms is that they can be manufactured on ancient process nodes for next to nothing. The moment you don't care about that, why not upgrade to an i.MX8?
[1] https://www.st.com/content/st_com/en/campaigns/stm32v8-high-...
> ST seems to consistently put out faster chips [1].
They have not released anything in years, only modest incremental updates. STM32V8 is a welcome update, but it is nothing ground breaking and not available yet.
> The real reason to use a Cortex-M is determinism in hard real-time systems.
Correct.
> but at that point you either aren't making a hard real-time system and would benefit greatly from an MPU
Why not?
> allowing you to run Linux and benefit from the wealth of drivers available for these interfaces
It is precisely to avoid running Linux and the "wealth of drivers".
> or your real-time deadlines are so tight an FPGA would be a better choice
When MCUs were not good enough, the FPGA was a sensible choice. That said you won't get Cortex-M7 core on FPGA and other cores might be available, though there is not going to be any substantial performance improvement, unless you want to spend unreasonable amount of money (talking 5 figures at least).
What I am trying to point out is that there is a huge market gap.
i.MX8 is not realtime and the support for running bare metal code is very much non existent.
> Cortex-M is determinism in hard real-time systems
> or your real-time deadlines are so tight an FPGA would be a better choice
That's why I'd say Cortex-M fits well for a very-very good soft real-time (99.99+%). But for hard real-time (100%) you need an FPGA.