[sdiy] New cute "Microcontrollers" - STM32U with integrated GPU for UIs (+math accel + analog stuff)

brianw brianw at audiobanshee.com
Sat Mar 4 11:34:51 CET 2023

The Cortex-M0 is the "new kid on the block." Despite the small number "0" that implies it might have been "first."

I recall that it came out after the Cortex-M4, which was fairly late in the game. The M0 is specifically designed to be as small as possible, in all aspects: size, power, price, capabilities. I couldn't find any dates on when M0, M1, M3, M4, M7, M23, M33, M35, M55 each came out, but maybe it was the Cortex-M0+ that came out after the Cortex-M4.

I agree that sometimes it's not worth all the extra effort to get repeatable behavior, when choosing a simpler processor design will just be repeatable by its nature. I have a love/hate relationship with the PIC. It has some of the benefits of being a simple design, but it's also maddeningly weird.

I worked on a TMS320 DSP design where I ended up using every bus, all memory, and every cycle - sometimes more than once! The C55xx has five busses (three read and two write) and some memory that can be accessed twice in the same cycle. The instruction set even allows certain instructions to run at the same time, so long as they don't alter the same resources. By the time I had everything going, I found some bugs because I had so much going on, and only solved it by moving things around in the single-memory versus dual-memory areas. It was technically a repeatable instruction set, but with DMA running a 4 MHz DAC and multiple 1 MHz ADC, there was contention for the busses from sources other than the code that was running.

Brian Willoughby

On Mar 4, 2023, at 2:13 AM, Steve via Synth-diy <synth-diy at synth-diy.org> wrote:
> >  The STM32F4 is a Cortex-M series design, so by the ARM standard it's
> considered a Microcontroller. Not really much controversy there
> Still, compared to Cortex-M0, they are more complex. But all those chips
> tend to have several different buses and things aren't as in sync as
> they are on an old AVR. You need different barrier instructions here and
> there to make things work correctly (reliably). (although some are even
> needed on the smaller ones w.r.t. changing interrupt settings IIRC, due
> to some silicon (or CAD) bug)
> If you have to (correctly) persuade the thing to produce repeatable
> behavior, at least to me it doesn't feel like a good old straightforward
> MCU ;)
> - Steve
> brianw:
>> Even in the seventies, before anyone could put SRAM on a processor chip, I was already confused by vendors who used CPU and MCU interchangeably. Check out some of the old data books from Intel and Motorola from this era. Those were the days when GPIO expanders were separate chips, serial ports (for MIDI) were on separate chips, and the most you might have on board were a few 8-bit ports (depending upon the vendor). Later, when devices like the PIC integrated CPU, Flash, SRAM, and tons of peripherals all on the same chip, and pin counts became unsolderable, it seemed like a new acronym was needed, but they still called them microcontrollers or MCU. By the time the term, SoC, started being used, it already seemed pointless. I'm not really sure whether any two manufacturers agree on the distinction between CPU, MCU, SoC.
>> A more important distinction would be something like virtual memory, which is where vulnerabilities start creeping in, and performance becomes unpredictable - never the same cycle count twice. In the ARM world, you have the distinction between Cortex-M (Microcontroller) series and the A (Application) series. The STM32F4 is a Cortex-M series design, so by the ARM standard it's considered a Microcontroller. Not really much controversy there.
>> Personally, I prefer to avoid operating systems and to avoid the ARM A series. I don't need to design my own iPhone. I'm happy designing a Prophet 5 or Matrix-12. My favorite in recent years has been the Texas Instruments TM4C129 family, some of which have enough serial ports for an 8-input, 8-output MIDI interface. It's an MCU.
>> Brian Willoughby
>> On Mar 3, 2023, at 3:28 PM, grant wrote:
>>> Yes, it's quite interesting! I was recently reading about H7. I need something that can support a large TFT (800x480 perhaps) so that chews up a lot of SRAM. The main MCU contender at the moment is the ESP32-S3 unfortunately.
>>> GB
>>> ------ Original Message ------
>>> From: Steve
>>> Sent: 3/2/2023 5:07:25 AM
>>>> I found it interesting already that things like STM32F4 are called "microcontroller" (instead of e.g. SoC)
>>>> Now they announced these things, with 2.5 MB SRAM and a "2.5D GPU" to provide modern user interfaces without taxing the general purpose computing core so much.
>>>> Available also still in LQFP
>>>> https://www.st.com/en/microcontrollers-microprocessors/stm32u599-5a9.html
>>>> The "GPU"
>>>> https://blog.st.com/neochrom-gpu/
>>>> I looked at a particular "smaller" one ("Only" 100 pin LQFP ;) ), has a Cortex M33 core with FPU, TFT LCD + touch sense controllers, CORDIC + FMAC math accelerators.
>>>> Has also some analog stuff on board: comparators, opamps, and next to the 12bit I knew also 14-bit-ADCs.
>>>> 32bit timers.
>>>> Mouser quotes it at 10.57 € when buying 540 pcs. (availabnle in Q2 2023, supposedly)
>>>> https://www.st.com/en/microcontrollers-microprocessors/stm32u599vj.html
>>>> I guess if and when they'll be throwing around Nucleo devboards with those, I might fetch me one to play ;)

More information about the Synth-diy mailing list