April 28, 2025
F411 USB -- Some "big boys" in the club
This is a bit of a "side track" from USB, but not entirely, so
stay with me.
As a break from working on F411 USB, I decided to pull several bigger
and fancier boards out of the box they have been stored in.
These are:
- STM32F746 Discovery board
- STM32H743 Nucleo-144 board
- STM32H747 Discovery board
Nucleo versus Discovery
The Nucleo boards have the minimum of extra stuff to get the chip running, and they
include a built in ST-Link. They have LOTS of pins.
The Discovery boards add all kinds of extra things (external flash and ram, LCD displays,
SD sockets, you name it), but give only a limited number of pins for GPIO, often
(but not always) as an Arduino header (which was the cool thing at one time).
F7 and H7
The number "7" indicates these have a Cortex-M7 ARM. This is substantially more powerful
than an M4. It has a 6-stage superscalar pipeline, which means that it executes code
almost twice as fast as the M4 at the same clock. It adds double precision floating point.
It adds L1 cache for both I and D (which adds complexity, but makes it go fast).
As for "F" versus "H", the "H" stands for high performance. These generally run at
at least 400 Mhz, some as fast as 550 Mhz. Along with the superscalar pipeline this
means they will run code about 4 times as fast as a 200 Mhz M4 part.
They also tend to be deluxe parts, with lots of peripherals. They have special on chip
memory (TCM, ITCM, DTCM). Here "TCM" stands for "tightly coupled memory" and these
are special memory areas that are available only to the CPU and work faster because
they don't have to worry about bus interfaces or DMA. Note that these areas are not
available for DMA, which cam be important for USB or ethernet drivers.
Specific details
The letters after the part number are needed to know exactly what on chip resources
(such as flash and ram) are present.
All of these have ethernet (100M).
All have 16K data and 16K instruction cache.
- STM32F429ZIT6U -- 180 Mhz, 2M flash, 256K sram (include 64K CCM), 2 USB
- STM32F746NGH6U -- 216 Mhz, 1M flash, 320K sram (includes 64K DTCM, 16K ITCM), 2 USB
- STM32H743ZIT6U -- 480 Mhz, 2M flash, 1M sram (includes 128K DTCM, 64K ITCM), 1 USB
- STM32H747XIH6U -- 480 Mhz, 2M flash, 1M sram (includes 128K DTCM, 64K ITCM), 2 USB + M4 core
The last (the H747) is dual core with a Cortex-M4 (240 Mhz) alongside the M7 core.
What is somewhat surprising is the F429 with 2M of flash.
HS USB
Both of the discovery boards (but not the nucleo board) have an outboard USB phy chip
that is capable of high speed (480 Mb/s).
Conclusions
All of this is intended only as a general orientation to these Cortex-M4 based chips and boards.
As one piece of information, the current size of my Kyu operating system image is 290344 bytes,
so it would easily fit into any of these, even the F429.
The current Hydra image is 23248, which will fit in almost anything.
Feedback? Questions?
Drop me a line!
Tom's Computer Info / tom@mmto.org