STM32 MCU family goes 64-bit with the STM32MP2x (Cortex-A35)
hackster.io
hackster.io
Even Nintendo figured that out ~30 years ago.
Like this for example:
"developers can use the same STM32Cube tools"
So maybe they are saving STM64 for something that has more breaking changes, requires a different toolset, etc?
And it's because of egos of marketing departments that think they know better than engineers.
I shit you not, Microchip has a over 400 page internal PowerPoint that covers decoding their schemes and they keep adding more.
Still seems very strange to label 64-bit processors STM32...
There's a blurry line sometimes, but Application-class (Cortex A* cores, like A5, A35, etc. etc.) are solidly MPU. Not even close.
The actual difference IMHO is the existence of an MMU. (Which is, fdpic/linux-nommu efforts notwithstanding, the general "Linux" condition.)
(Ex.: the SOPHGO SG2000 RISC-V chip comes with integrated DDR3 RAM, but is still solidly an MPU. I believe there are some ARM Cortex-A with integrated RAM too, can't think of any off the top of my head. [Ed.: nevermind, the SG2000 is dual RISC-V/ARM])
It’s a little outdated but this blog post is a pretty good overview of the options available [1].
[0] - https://www.nuvoton.com/products/microprocessors/arm9-mpus/
As an aside, I'm pretty sure these chips were announced months ago despite what the article says.
For ARM, its rather simple. Cortex-M cores are MCUs, while Cortex-A cores are Microprocessors.
Cortex A72?? That's a Microprocessor.
Cortex M7? This is a Microcontroller.
MCU -> Microcontroller. Low power, less RAM, limited MMU/memory protection features, typically run baremetal firmware or an RTOS. Usually so simple it only needs a single voltage rail. More or less self-contained. Has RAM and ROM on-die.
SoC -> System-on-a-chip. Actually a very vague term. But in broad strokes, an SoC is what it says: An entire system on a single chip. Could incorporate an MCU or an MPU, plus other peripherals, etc. You can almost think of it as a "single chip computer" as opposed to a "single board computer". It's almost more of a marketing term than an EE term. For example, the Apple Silicon stuff is a "SoC" because it has the MPU + GPU + RAM on a single die.
MCU is a controller so you supply target to control.
SoC is a system so you supply tasks to execute.
disclaimer: above is all I hallucinating.
MCUs are all well under 10MB of onboard RAM (often single-digit kbytes, but bigger MCUs exist). And if they support external RAM, its MCU-protocols like SPI-RAM (which rarely goes much further than 1MB)
That's not generally true. A lot of higher-end STM32 MCUs have support for external SRAM/SDRAM -- I have a STM32H7 board on my desk with 32 MB, for instance. (Support for memory-mapped SPI/QSPI/OSPI RAM is actually less common.)
You're correct that internal SRAM is typically no more than 1-2 MB on even the largest parts, though.
Unrelated: Would this be suitable for a CV system eg in robotics? Eg do the realtime stuff on the Cortex-M, and run a linux + OpenCV/OpenVINO etc on the Cortex-A?
Nevertheless its 64-bit core is optimized for low-power, so it also has low performance.
If the applications intended to run under Linux are more demanding, one may need at least some SoC with Cortex-A55 cores (e.g. from NXP), if not one with medium-size cores, like the RK3588 (with quadruple Cortex-A76 + GPU + NPU + some Cortex-M) or one of the overpriced SoCs from Mediatek, Qualcomm or NVIDIA (these latter 3 have worse price/performance than Intel/AMD CPUs).
Unless a price under $100 is a condition, the easiest way to make a CV system for robotics is by using one of the very small computers that are available with Intel N100 CPUs (there are models much smaller than a NUC, either at a Pico-ITX size or even smaller, while prices are under $200).
The outer balls take up space and so block the traces from inner balls. By strategically removing some of the outer balls, you create channels that can be used for routing taxes from the inner balls.
The appeal of STM32MP1 is you can put DDR momery with the chip on a 4 layer board. ST even provides the layout.
Considering warranty periods on some goods, you also really don't want to build stuff with lower rated chips—it'll come back to bite you. Imagine having to pay a professional to swap out the controller board on a smart heating system… people might have accepted swapping out their TV every few years, but for a stove or fridge we're not there yet (and honestly I hope we never get there.)
Leaving the consumer space, it's just expected. If your CNC mill has an x86 control PC, it's a ruggedized industrial build, and those use embedded CPUs with better ratings. Cars are off on a different planet for regulatory reasons, same for aviation or military use.