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:

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.

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