Change Note 2025-12-07
STM32U585 support
ST STM32U585 MCU
Overview
- Exploration and basic support for the ST STM32U585 microcontroller.
- This MCU has a single Cortex-M33 core, and lots of peripheral devices and IO in general. As the NXP MCUs, apart from the core, it’s pretty much different compared to the RP2350.
- TrustZone can be completely disabled if not used.
Boards
- Development board used: B-U585I-IOT02A
- This MCU is also used on the Arduino UNO Q
Status
Basic support:
- both kernels v1 and v4 are functional
- runtime error handling with stack traces
- GPIO
- serial terminal text output
plus all the bare basics to get off the ground, such as clocks, dynamic memory allocation, module Main.
The implemented example and test programs serve to test the above functionality.
Library lib/v3.0
- All current modules for the STM MCU are inside its respective directories in the repository.
- RPx and NXP: extend definitions for exception priorities for compatibility with the definitions for STM32U585.
Configuration Files
- The Astrobe config files for the STM MCU are inside the (Astrobe for) RP2350 directory for lib/v3.0.
- The config files are now found in board-specific sub-directories.
Example and Test Programs for STM32
SignalSyncandStacktracefor kernel-v1K4baseandK4semafor kernel-v4
Flashing and Debugging
- For now, I have used SEGGER’s J-Link probes and Ozone debugger to flash the STM MCU. I still need to check out the STLINK-V3E flashing utilities.
- Astrobe’s
.binfiles are converted to.elffiles usingmakeelfin the tools directory. The.elffile contains the required address data, which makes flashing easier.