2. Memory and bus architecture

2.1 System architecture

The STM32U5 series architecture relies on an Arm Cortex-M33 core optimized for execution thanks to an instruction cache having a direct access to the embedded flash memory.

This architecture also features a 32-bit multilayer AHB bus matrix that interconnects master and slave as shown in the tables below.

Table 1. Implementation of masters on STM32U5 Series

MastersCommentsSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
Cortex-M33 Fast C-busConnecting Cortex-M33 (with Arm TrustZone® mainline and FPU) to the internal SRAMs and flash memory through ICACHE.XXXX
Cortex-M33 Slow C-busConnecting Cortex-M33 (with Arm TrustZone mainline and FPU) to the external memories through ICACHE.XXXX
Cortex-M33 S-busConnecting the Cortex-M33 (with Arm TrustZone mainline and FPU) to internal SRAMs without latency.2 masters3 masters
Connecting Cortex-M33 (with Arm TrustZone mainline and FPU) to the external memories through DCACHE1.XXXX
GPDMA1-2 masters
DMA2D--XXX
SDMMC1-XXXX
SDMMC2--XXX
LTDC---XX
GPU2D M1 portGraphic processing unit M1 port--XX
GPU2D M0 portGraphic processing unit M0 port through DCACHE2--XX
GFXMMU master port---XX
OTG_HS---XX

Table 2. Implementation of slaves on STM32U5 Series

SlavesCommentsSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
Internal flash memory-XXXX
Internal SRAM1-XXXX
Internal SRAM2-XXXX
Internal SRAM3--XXX
Internal SRAM5---XX
Internal SRAM6----X
AHB1Peripherals and 2-Kbyte BKPSRAM including AHB to APB bridge, and APB peripherals (connected to APB1 and APB2)XXXX
AHB2PeripheralsXXXX
FSMC (flexible static memory controller)--XXX
OCTOSPI1-XXXX
OCTOSPI2--XXX
HSPI1---XX
GFXMMU slave port---XX
AHB3SRD peripherals and SRAM4, including AHB to APB bridge, and APB peripherals (connected to APB3)XXXX

The bus matrix provides access from a master to a slave, enabling concurrent access and efficient operation even when several high-speed peripherals work simultaneously. This architecture is shown in the figure below.

Figure 1. System architecture

Figure 1. System architecture diagram showing the internal bus matrix and connected components.

The diagram illustrates the system architecture of the STM32U5 series microcontroller. At the top, the Cortex-M33 core with TrustZone mainline and FPU is connected to the bus matrix via its C-bus and S-bus. The C-bus connects through the ICACHE (8/32-32-Kbyte) and the Slowbus to the matrix. The S-bus connects through the DCACHE1 (4/16-Kbyte) and the Fastbus to the matrix. The matrix itself is a 32-bit wide grid. Various masters are connected to the matrix: GPDMA1, DMA2D, SD MMC1, SD MMC2, USB OTG HS, LTDC, GPU2D, and GFXMMU. The matrix also connects to various slave components: FLASH (512-Kbyte/2/4-Mbyte), SRAM1, SRAM2, SRAM3, SRAM5, SRAM6, BKPSRAM, OCTOSPI1, OCTOSPI2, HSPI1, FSMC, SRAM4, and AHB3 peripherals. A legend on the right side defines the symbols used for different types of bus multiplexers and memory protection controllers. The diagram also indicates the presence of APB1 and APB2 peripherals, and the availability of certain peripherals based on the specific microcontroller model (e.g., STM32U535/545, STM32U575/585, or STM32U5F5/5Gx).

Figure 1. System architecture diagram showing the internal bus matrix and connected components.

2.1.1 Fast C-bus

This bus connects the C-bus of the Cortex-M33 core to the internal flash memory and to the bus matrix via the instruction cache. This bus is used for instruction fetch and data access to the internal memories mapped in the code region. This bus targets the internal flash memory and the internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6).

SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6 are accessible on this bus with a continuous mapping.

2.1.2 Slow C-bus

This bus connects the C-bus of the Cortex-M33 core to the bus matrix via the instruction cache. This bus is used for instruction fetch and data access to the external memories mapped in the code region. This bus targets the external memories (FSMC, HSPI1, and OCTOSPIs).

2.1.3 S-bus

This bus connects the system bus of the Cortex-M33 core to the bus matrix. This bus is used by the core to access data located in a peripheral or SRAM area. This bus targets the internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM4, SRAM5, SRAM6, and BKPSRAM), the AHB1 peripherals including the APB1 and APB2 peripherals, the AHB2 peripherals and the SRD peripherals.

SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6 are accessible on this bus with a continuous mapping.

Note: The bus matrix has a zero latency when accessing SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6.

2.1.4 DCACHE S-bus

This bus connects the system bus of the Cortex-M33 core to the bus matrix via the data cache. This bus is used for instruction fetch and data access to the external memories mapped in the data region. This bus targets the external memories (FSMC, HSPI1, GFXMMU, and OCTOSPIs).

Note: Fetching instructions through this bus is less efficient than fetching instructions through the slow C-bus.

2.1.5 GPDMA-bus

These buses connect the two AHB master interfaces of the GPDMA to the bus matrix. These buses target the internal flash memory, the internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM4, SRAM5, SRAM6, and BKPSRAM), the AHB1 peripherals including the APB1 and APB2 peripherals, the AHB2 peripherals, the SRD peripherals and the external memories through FSMC, HSPI1, or OCTOSPIs.

2.1.6 OTG_HS-bus

This bus connects the OTG_HS master interface to the bus matrix. This bus is used only by the OTG_HS to load/store data from/to the memory. This bus targets the data memories: internal flash memory, internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6) and external memories through FSMC, HSPI1, or OCTOSPIs.

2.1.7 LTDC-bus

This bus connects the LTDC master interface to the bus matrix. This bus is used only to load data from the memory. This bus targets the GFXMMU in addition to the data memories: internal flash memory, internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6) and external memories through FSMC, HSPI1 or OCTOSPIs.

2.1.8 GPU2D-bus

These buses connect the GPU2D master interfaces to the bus matrix. These buses are used only by the GPU2D to load/store data from/to the memory. These buses target the GFXMMU in addition to the data memories: internal flash memory, internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6) and external memories through FSMC, HSPI1, or OCTOSPIs. A 16-Kbyte data cache (DCACHE2) is present on the GPU2D M0 bus in order to improve performances.

2.1.9 GFXMMU-bus

This bus connects the GFXMMU master interface to the bus matrix. This bus is used only by the GFXMMU to load/store data from/to the memory. This bus targets the data memories: internal flash memory, internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6) and external memories through FSMC, HSPI1, or OCTOSPIs. The GFXMMU has also a slave bus connection to be accessed by graphical peripheral master buses.

2.1.10 SDMMC1 and SDMMC2 controllers DMA buses

These buses connect the SDMMC1 and SDMMC2 DMA master interfaces to the bus matrix. These buses are used only by the SDMMC1 and SDMMC2 DMA to load/store data from/to the memory. These buses target the data memories: internal flash memory, internal SRAMs (SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6) and external memories through FSMC, HSPI1, or OCTOSPIs.

2.1.11 Bus matrix

The bus matrix manages the access arbitration between masters. The arbitration uses a round-robin algorithm. This bus matrix features a fast bus multiplexer used to connect each master to a given slave without latency (see Figure 1 ). For the same master, other slaves undergo a latency of at least one cycle at each new access.

2.1.12 AHB/APB bridges

The three AHB/APB bridges provide full synchronous connections between the AHB and the APB buses, allowing flexible selection of the peripheral frequency.

Refer to Section 2.3.2: Memory map and register boundary addresses for the address mapping of the peripherals connected to these bridges.

After each device reset, all peripheral clocks are disabled (except for the internal SRAMs and flash memory interfaces). Before using a peripheral, its clock must be enabled in the RCC_AHBxENR and RCC_APBxENR registers.

Note: When an 8- or 16-bit access is performed on an APB register, the access is transformed into a 32-bit access: the bridge duplicates the 8- or 16-bit data to feed the 32-bit vector.

2.1.13 SmartRun domain (SRD)

The SRD architecture relies on a DMA allowing autonomous operation during low-power modes down to Stop 2.

This architecture also features a 32-bit AHB bus matrix that interconnects:

Note: The SRAM4 is the only SRAM that can be accessed by the LPDMA1.

This architecture is shown in the figure below.

Figure 2. SmartRun domain architecture

Figure 2. SmartRun domain architecture diagram showing the Main bus matrix, LPDMA1, SRD 32-bit bus matrix, AHB3 peripherals, MPCBB4, and SRAM4. A legend defines symbols for Bus multiplexer, Fast bus multiplexer, Master interface, Slave interface, and MPCBBx: block-based memory protection controller.

The diagram illustrates the SmartRun domain architecture. At the top, the 'Main bus matrix' and 'LPDMA1' are connected to a central 'SRD 32-bit bus matrix'. The 'SRD 32-bit bus matrix' is connected to 'AHB3 peripherals' and 'MPCBB4'. 'MPCBB4' is connected to 'SRAM4'. A legend on the right defines the symbols: a white circle for 'Bus multiplexer', a black circle for 'Fast bus multiplexer', a rectangle with a small circle for 'Master interface', a rectangle with a small rectangle for 'Slave interface', and 'MPCBBx: block-based memory protection controller'. The reference 'MSv63648V1' is shown in the bottom right corner.

Figure 2. SmartRun domain architecture diagram showing the Main bus matrix, LPDMA1, SRD 32-bit bus matrix, AHB3 peripherals, MPCBB4, and SRAM4. A legend defines symbols for Bus multiplexer, Fast bus multiplexer, Master interface, Slave interface, and MPCBBx: block-based memory protection controller.

2.2 Arm TrustZone security architecture

The security architecture is based on Arm TrustZone with the Armv8-M mainline extension.

The TrustZone security is activated by the TZEN option bit in the FLASH_OPTR register.

When the TrustZone is enabled, the SAU (security-attribution unit) and IDAU (implementation-defined-attribution unit) define the access permissions based on secure and nonsecure states.

Based on IDAU security attribution, the flash memory, system SRAMs, and peripherals memory space are aliased twice for secure and nonsecure states. The external memories space is not aliased.

The table below shows an example of typical eight SAU regions mapping based on IDAU regions. The user can split and choose the secure, nonsecure or NSC regions for external memories as needed.

Table 3. Example of memory map security attribution versus SAU configuration regions

Region descriptionAddress rangeIDAU security attributionSAU security attribution typical configurationFinal security attribution
Code - external memories0x0000_0000 0x07FF_FFFFNonsecureSecure, nonsecure or NSC (1)Secure, nonsecure, or NSC
Code - flash memory and SRAM0x0800_0000 0x0BFF_FFFFNonsecureNonsecureNonsecure
0x0C00_0000 0x0FFF_FFFFNSCSecure or NSCSecure or NSC

Table 3. Example of memory map security attribution versus SAU configuration regions

Region descriptionAddress rangeIDAU security attributionSAU security attribution typical configurationFinal security attribution
Code - external memories0x1000_0000 0x17FF_FFFFNonsecureNonsecure
0x1800_0000 0x1FFF_FFFF
SRAM0x2000_0000 0x2FFF_FFFFNonsecure
0x3000_0000 0x3FFF_FFFFNSCSecure or NSCSecure or NSC
Peripherals0x4000_0000 0x4FFF_FFFFNonsecureNonsecureNonsecure
0x5000_0000 0x5FFF_FFFFNSCSecure or NSCSecure or NSC
External memories0x6000_0000 0xDFFF_FFFFNonsecureSecure, nonsecure or NSCSecure, nonsecure or NSC

1. NSC = nonsecure callable

2.2.1 Default Arm TrustZone security state

When the TrustZone security is activated by the TZEN option bit in the FLASH_OPTR, the default system security state is detailed below:

2.2.2 Arm TrustZone peripheral classification

When the TrustZone security is active, a peripheral can be either securable or TrustZone-aware type as follows:

Refer to GTZC TrustZone system architecture for more details.

The tables below list the securable and TrustZone-aware peripherals within the system.

Table 4. Securable peripherals by TZSC

BusPeripheralSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB3ADF1XXXX
DAC1XXXX
ADC4XXXX
AHB2OCTOSPI2 registers-XXX
OCTOSPI1 registersXXXX
HSPI1 registers--XX
FSMC registers-XXX
SDMMC1XXXX
SDMMC2-XXX
OCTOSPIM-XXX
SAESXXXX
PKAXXXX
RNGXXXX
HASHXXXX
AESXXXX
USBX---
OTG_FS-X--
OTG_HS--XX
DCMIXXXX
ADC12XXXX

Table 4. Securable peripherals by TZSC (continued)

BusPeripheralSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB1GFXMMU registers--XX
GPU2D registers--XX
JPEG---X
DCACHE2 registers--XX
DCACHE1 registers (1)XXXX
ICACHE registers (1)XXXX
DMA2D-XXX
TSCXXXX
CRCXXXX
RAMCFGXXXX
MDF1XXXX
FMACXXXX
CORDICXXXX
APB3VREFBUFXXXX
COMP (2)XXXX
OPAMPXXXX
LPTIM4XXXX
LPTIM3XXXX
LPTIM1XXXX
I2C3XXXX
LPUART1XXXX
SPI3XXXX
APB2DSI--XX
LTDC--XX
GFXTIM---X
SAI2-XXX
SAI1XXXX
TIM17XXXX
TIM16XXXX
TIM15XXXX
USART1XXXX
TIM8XXXX
SPI1XXXX
TIM1XXXX

Table 4. Securable peripherals by TZSC (continued)

BusPeripheralSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
APB1I2C6--XX
I2C5--XX
USART6--XX
UCPD1-XXX
FDCAN1XXXX (3)
LPTIM2XXXX
I2C4XXXX
CRSXXXX
I2C2XXXX
I2C1XXXX
UART5XXXX
UART4XXXX
USART3XXXX
USART2-XXX
SPI2XXXX
IWDGXXXX
WWDGXXXX
TIM7XXXX
TIM6XXXX
TIM5XXXX
TIM4XXXX
TIM3XXXX
TIM2XXXX

1. ICACHE and DCACHE1 are TrustZone-aware peripherals, regardless if access to their registers is secured by TZSC.

2. Only one COMP on STM32U535/545.

3. FDCAN1 is not present on STM32U5Fx devices.

Table 5. TrustZone aware peripherals

BusPeripheralSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB3GTZC2XXXX
EXTIXXXX
LPDMA1XXXX
RCCXXXX
PWRXXXX
LPGPIO1XXXX

Table 5. TrustZone aware peripherals (continued)

BusPeripheralSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB2OTFDEC1 (1)XXXX
OTFDEC2 (1)-XXX
GPIOJ--XX
GPIOI-XXX
GPIOHXXXX
GPIOGXXXX
GPIOF-XXX
GPIOEXXXX
GPIO DXXXX
GPIOCXXXX
GPIOBXXXX
GPIOAXXXX
AHB1GTZC1XXXX
FLASHXXXX
GPDMA1XXXX
APB3TAMPXXXX
RTCXXXX
SYSCFGXXXX

1. Always secure when TZEN = 1.

2.3 Memory organization

2.3.1 Introduction

Program memory, data memory, registers and I/O ports are organized within the same linear 4-Gbyte address space.

The bytes are coded in memory in Little Endian format. The lowest numbered byte in a word is considered the word's least significant byte and the highest numbered byte the most significant.

2.3.2 Memory map and register boundary addresses

Figure 3. Memory map based on IDAU mapping for STM32U535/545

Memory map diagram for STM32U535/545 showing memory regions, addresses, and security status. The diagram includes a legend for Nonsecure (pink) and Secure, nonsecure callable (green) regions. The memory map is divided into three main sections: Cortex M33 nonsecure, OCTOSPI1 bank nonsecure, and various SRAM and Code regions. The right side of the diagram lists the corresponding register boundary addresses for each region.

Legend:

Memory Map:

Address RangeMemory RegionSecurity Status
0xFFFF FFFF to 0xE000 0000Cortex M33Nonsecure
0xA000 0000 to 0x9000 0000OCTOSPI1 bankNonsecure
0x6000 0000 to 0x5000 0000PeripheralsSecure, nonsecure callable
0x5000 0000 to 0x4000 0000PeripheralsNonsecure
0x3800 4000 to 0x3800 0000SRAM4Secure, nonsecure callable
0x3004 0000 to 0x3000 0000SRAM1/2Secure, nonsecure callable
0x2800 4000 to 0x2800 0000SRAM4Nonsecure
0x2004 0000 to 0x2000 0000SRAM1/2Nonsecure
0x1000 0000 to 0x0C00 0000CodeNonsecure
0x0C00 0000 to 0x0000 0000CodeSecure, nonsecure callable

Register Boundary Addresses:

Address RangeRegister Name
0x6000 0000 to 0x5602 6000Reserved
0x5602 6000 to 0x5602 0000AHB3
0x5602 0000 to 0x5600 8000Reserved
0x5600 8000 to 0x5600 0400APB3
0x5600 0400 to 0x520D 2800Reserved
0x520D 2800 to 0x5202 0000AHB2
0x5202 0000 to 0x5003 6C00Reserved
0x5003 6C00 to 0x5002 0000AHB1
0x5002 0000 to 0x5001 5C00Reserved
0x5001 5C00 to 0x5001 2C00APB2
0x5001 2C00 to 0x5000 E000Reserved
0x5000 E000 to 0x5000 0000APB1
0x5000 0000 to 0x4602 6000Reserved
0x4602 6000 to 0x4602 0000AHB3
0x4602 0000 to 0x4600 8000Reserved
0x4600 8000 to 0x4600 0400APB3
0x4600 0400 to 0x420D 2800Reserved
0x420D 2800 to 0x4202 0000AHB2
0x4202 0000 to 0x4003 6C00Reserved
0x4003 6C00 to 0x4002 0000AHB1
0x4002 0000 to 0x4001 5C00Reserved
0x4001 5C00 to 0x4001 2C00APB2
0x4001 2C00 to 0x4000 E000Reserved
0x4000 E000 to 0x4000 0000APB1
0x2000 0000 to 0x1000 0000External memories
0x1000 0000 to 0x0FF8 8000Reserved
0x0FF8 8000 to 0x0FF8 0000RSS
0x0FF8 0000 to 0x0E04 0000Reserved
0x0E04 0000 to 0x0E03 0000SRAM2
0x0E03 0000 to 0x0E00 0000SRAM1
0x0E00 0000 to 0x0C08 0000Reserved
0x0C08 0000 to 0x0C00 0000FLASH
0x0C00 0000 to 0x0BFA 0200Reserved
0x0BFA 0200 to 0x0BFA 0000OTP
0x0BFA 0000 to 0x0BF9 8000Reserved
0x0BF9 8000 to 0x0BF9 0000System memory
0x0BF9 0000 to 0x0A04 0000Reserved
0x0A04 0000 to 0x0A03 0000SRAM2
0x0A03 0000 to 0x0A00 0000SRAM1
0x0A00 0000 to 0x0808 0000Reserved
0x0808 0000 to 0x0800 0000FLASH
0x0800 0000 to 0x0000 0000External memories remap

MSv70740V2

Memory map diagram for STM32U535/545 showing memory regions, addresses, and security status. The diagram includes a legend for Nonsecure (pink) and Secure, nonsecure callable (green) regions. The memory map is divided into three main sections: Cortex M33 nonsecure, OCTOSPI1 bank nonsecure, and various SRAM and Code regions. The right side of the diagram lists the corresponding register boundary addresses for each region.

Figure 4. Memory map based on IDAU mapping for STM32U575/585

Memory map diagram for STM32U575/585 showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for various memory regions, including AHB and APB buses, SRAM, FLASH, and external memories. Lines connect specific memory blocks in the left column to their detailed address ranges in the right column.

Legend:

Address RangeMemory Type
0x0000 0000 - 0x0000 0000External memories remap
0x0800 0000 - 0x0820 0000FLASH
0x0A00 0000 - 0x0A03 0000SRAM1
0x0A04 0000 - 0x0A0C 0000SRAM2
0x0BF9 0000 - 0x0BF9 8000System memory
0x0BFA 0000 - 0x0BFA 0200OTP
0x0C00 0000 - 0x0C20 0000FLASH
0x0E00 0000 - 0x0E03 0000SRAM1
0x0E04 0000 - 0x0E0C 0000SRAM2
0x0FF8 0000 - 0x0FF8 8000RSS
0x1000 0000 - 0x2000 0000External memories
0x4000 0000 - 0x4000 0000APB1
0x4001 2C00 - 0x4001 5C00Reserved
0x4002 0000 - 0x4002 2C00APB2
0x4003 6C00 - 0x4003 8000Reserved
0x4202 0000 - 0x4202 2800AHB1
0x4600 0000 - 0x4600 0400Reserved
0x4602 0000 - 0x4602 6000APB3
0x5000 0000 - 0x5000 E000Reserved
0x5001 2C00 - 0x5001 5C00APB1
0x5202 0000 - 0x5202 2800Reserved
0x5600 0000 - 0x5600 0400AHB2
0x5602 0000 - 0x5602 6000Reserved
0x6000 0000 - 0x6000 0000Reserved

Main Memory Map:

Address RangeMemory Type
0x0000 0000 - 0x0C00 0000Code nonsecure
0x0C00 0000 - 0x1000 0000Code nonsecure callable
0x1000 0000 - 0x2000 0000Code nonsecure
0x2000 0000 - 0x2800 0000SRAM1/2/3 nonsecure
0x2800 0000 - 0x3000 0000SRAM4 nonsecure
0x3000 0000 - 0x3800 0000SRAM1/2/3 nonsecure callable
0x3800 0000 - 0x4000 0000SRAM4 nonsecure callable
0x4000 0000 - 0x5000 0000Peripherals nonsecure
0x5000 0000 - 0x6000 0000Peripherals nonsecure callable
0x6000 0000 - 0x7000 0000FMC bank 1 nonsecure
0x7000 0000 - 0x8000 0000OCTOSPI2 bank nonsecure
0x8000 0000 - 0x9000 0000FMC bank 3 nonsecure
0x9000 0000 - 0xA000 0000OCTOSPI1 bank nonsecure
0xA000 0000 - 0xE000 0000(Reserved)
0xE000 0000 - 0xFFFF FFFFCortex-M33 nonsecure

MSv63640V2

Memory map diagram for STM32U575/585 showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for various memory regions, including AHB and APB buses, SRAM, FLASH, and external memories. Lines connect specific memory blocks in the left column to their detailed address ranges in the right column.

Figure 5. Memory map based on IDAU mapping for STM32U59x/5Ax

Memory map diagram for STM32U59x/5Ax showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for various memory blocks, with lines connecting them to the main map. The main map includes Code (nonsecure), Code (nonsecure callable), SRAM1/2/3/5 (nonsecure), GFXMMU virtual buffer (nonsecure callable), SRAM4 (nonsecure), SRAM4 (nonsecure callable), Peripherals (nonsecure), Peripherals (nonsecure callable), FMC bank 1 (nonsecure), OCTOSPI2 bank (nonsecure), FMC bank 3 (nonsecure), OCTOSPI1 bank (nonsecure), HSPI1 bank (nonsecure), and Cortex M33 (nonsecure). The detailed map includes sections for External memories, Reserved, RSS, SRAM5, SRAM3, SRAM2, SRAM1, FLASH, OTP, System memory, and External memories remap.

Legend:

Address RangeMemory Type
0x0000 0000 - 0x1000 0000Code nonsecure
0x1000 0000 - 0x2000 0000Code nonsecure callable
0x2000 0000 - 0x2400 0000Code nonsecure
0x2400 0000 - 0x2500 0000GFXMMU virtual buffer nonsecure
0x2500 0000 - 0x2800 0000SRAM1/2/3/5 nonsecure
0x2800 0000 - 0x3000 0000SRAM4 nonsecure
0x3000 0000 - 0x3400 0000SRAM1/2/3/5 nonsecure callable
0x3400 0000 - 0x3500 0000GFXMMU virtual buffer nonsecure callable
0x3500 0000 - 0x3800 0000SRAM4 nonsecure callable
0x3800 0000 - 0x4000 0000Peripherals nonsecure
0x4000 0000 - 0x5000 0000Peripherals nonsecure callable
0x5000 0000 - 0x6000 0000FMC bank 1 nonsecure
0x6000 0000 - 0x7000 0000OCTOSPI2 bank nonsecure
0x7000 0000 - 0x8000 0000FMC bank 3 nonsecure
0x8000 0000 - 0x9000 0000OCTOSPI1 bank nonsecure
0x9000 0000 - 0xA000 0000HSPI1 bank nonsecure
0xA000 0000 - 0xE000 0000Cortex M33 nonsecure
0xE000 0000 - 0xFFFF FFFFReserved

Address RangeMemory Type
0x0000 0000 - 0x0800 0000External memories remap
0x0800 0000 - 0x0840 0000Reserved
0x0840 0000 - 0x0A00 0000FLASH
0x0A00 0000 - 0x0A0C 0000SRAM1
0x0A0C 0000 - 0x0A0D 0000SRAM2
0x0A0D 0000 - 0x0A1A 0000SRAM3
0x0A1A 0000 - 0x0A27 0000SRAM5
0x0A27 0000 - 0x0BF9 0000Reserved
0x0BF9 0000 - 0x0BF9 8000System memory
0x0BF9 8000 - 0x0BFA 0000Reserved
0x0BFA 0000 - 0x0BFA 0200OTP
0x0BFA 0200 - 0x0C00 0000Reserved
0x0C00 0000 - 0x0C40 0000 (3)FLASH
0x0C40 0000 (3) - 0x0E00 0000Reserved
0x0E00 0000 - 0x0E0C 0000SRAM1
0x0E0C 0000 - 0x0E0D 0000SRAM2
0x0E0D 0000 - 0x0E1A 0000SRAM3
0x0E1A 0000 - 0x0E27 0000SRAM5
0x0E27 0000 - 0x0FF8 0000Reserved
0x0FF8 0000 - 0x0FF8 8000RSS
0x0FF8 8000 - 0x1000 0000Reserved
0x1000 0000 - 0x2000 0000External memories

Address RangeMemory Type
0x4000 0000 - 0x4000 0000APB1
0x4000 E000 - 0x4001 2C00Reserved
0x4001 2C00 - 0x4001 7C00APB2
0x4001 7C00 - 0x4002 0000Reserved
0x4002 0000 - 0x4003 6C00AHB1
0x4003 6C00 - 0x4202 0000Reserved
0x4202 0000 - 0x420D 3800AHB2
0x420D 3800 - 0x4600 0400Reserved
0x4600 0400 - 0x4600 8000APB3
0x4600 8000 - 0x4602 0000Reserved
0x4602 0000 - 0x4602 6000AHB3
0x4602 6000 - 0x5000 0000Reserved
0x5000 0000 - 0x5000 E000APB1
0x5000 E000 - 0x5001 2C00Reserved
0x5001 2C00 - 0x5001 7C00APB2
0x5001 7C00 - 0x5002 0000Reserved
0x5002 0000 - 0x5003 6C00AHB1
0x5003 6C00 - 0x5202 0000Reserved
0x5202 0000 - 0x520D 3800AHB2
0x520D 3800 - 0x5600 0400Reserved
0x5600 0400 - 0x5600 8000APB3
0x5600 8000 - 0x5602 0000Reserved
0x5602 0000 - 0x5602 6000AHB3
0x5602 6000 - 0x6000 0000Reserved

MSv65678V2

Memory map diagram for STM32U59x/5Ax showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for various memory blocks, with lines connecting them to the main map. The main map includes Code (nonsecure), Code (nonsecure callable), SRAM1/2/3/5 (nonsecure), GFXMMU virtual buffer (nonsecure callable), SRAM4 (nonsecure), SRAM4 (nonsecure callable), Peripherals (nonsecure), Peripherals (nonsecure callable), FMC bank 1 (nonsecure), OCTOSPI2 bank (nonsecure), FMC bank 3 (nonsecure), OCTOSPI1 bank (nonsecure), HSPI1 bank (nonsecure), and Cortex M33 (nonsecure). The detailed map includes sections for External memories, Reserved, RSS, SRAM5, SRAM3, SRAM2, SRAM1, FLASH, OTP, System memory, and External memories remap.

Figure 6. Memory map based on IDAU mapping for STM32U5Fx/5Gx

Memory map diagram for STM32U5Fx/5Gx showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for specific memory regions, including System memory, FLASH, OTP, Reserved, External memories remap, External memories, SRAM1-SRAM6, and various peripheral banks (FMC, OCTOSPI, HSPI1).

Legend:

Address RangeMemory TypeAddress RangeMemory Type
0x0000 0000 - 0x1000 0000Code nonsecure0x0000 0000 - 0x0800 0000External memories remap
0x1000 0000 - 0x2000 0000Code nonsecure callable0x0800 0000 - 0x0840 0000FLASH
0x2000 0000 - 0x2400 0000Code nonsecure0x0840 0000 - 0x0A00 0000Reserved
0x2400 0000 - 0x2500 0000GFXMMU virtual buffer nonsecure0x0A00 0000 - 0x0A0C 0000SRAM1
0x2500 0000 - 0x2800 0000SRAM4 nonsecure0x0A0C 0000 - 0x0A0D 0000SRAM2
0x2800 0000 - 0x3000 0000SRAM1/2/3/5/6 nonsecure0x0A0D 0000 - 0x0A1A 0000SRAM3
0x3000 0000 - 0x3400 0000SRAM1/2/3/5/6 nonsecure0x0A1A 0000 - 0x0A27 0000SRAM5
0x3400 0000 - 0x3500 0000GFXMMU virtual buffer nonsecure0x0A27 0000 - 0x0A2F 0000SRAM6
0x3500 0000 - 0x3800 0000SRAM4 nonsecure0x0A2F 0000 - 0x0BF9 0000Reserved
0x3800 0000 - 0x4000 0000SRAM4 nonsecure0x0BF9 0000 - 0x0BFA 0000System memory
0x4000 0000 - 0x5000 0000Peripherals nonsecure0x0BFA 0000 - 0x0BFA 0200Reserved
0x5000 0000 - 0x6000 0000Peripherals nonsecure callable0x0BFA 0200 - 0x0C00 0000OTP
0x6000 0000 - 0x7000 0000FMC bank 1 nonsecure0x0C00 0000 - 0x0C40 0000FLASH
0x7000 0000 - 0x8000 0000OCTOSPI2 bank nonsecure0x0C40 0000 - 0x0E00 0000Reserved
0x8000 0000 - 0x9000 0000FMC bank 3 nonsecure0x0E00 0000 - 0x0E0C 0000SRAM1
0x9000 0000 - 0xA000 0000OCTOSPI1 bank nonsecure0x0E0C 0000 - 0x0E0D 0000SRAM2
0xA000 0000 - 0xB000 0000HSPI1 bank nonsecure0x0E0D 0000 - 0x0E1A 0000SRAM3
0xB000 0000 - 0xE000 0000Reserved0x0E1A 0000 - 0x0E27 0000SRAM5
0xE000 0000 - 0xFFFF FFFFCortex M33 nonsecure0x0E27 0000 - 0x0E2F 0000SRAM6
0x0E2F 0000 - 0x0FF8 0000Reserved
0x0FF8 0000 - 0x0FF8 8000RSS
0x0FF8 8000 - 0x1000 0000Reserved
0x1000 0000 - 0x2000 0000External memories

Additional Address Ranges:

MSv70739V2

Memory map diagram for STM32U5Fx/5Gx showing address ranges and memory types. The diagram is split into two columns. The left column shows the main memory map from 0x0000 0000 to 0xFFFF FFFF. The right column shows detailed address ranges for specific memory regions, including System memory, FLASH, OTP, Reserved, External memories remap, External memories, SRAM1-SRAM6, and various peripheral banks (FMC, OCTOSPI, HSPI1).

All memory-map areas that are not allocated to on-chip memories and peripherals are considered “Reserved”. The table below gives the boundary addresses of the peripherals available in the devices.

Table 6. Memory map and peripheral register boundary addresses

BusSecure boundary addressNonsecure boundary addressSize (bytes)PeripheralPeripheral register mapSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB30x5602 6000 - 0x5FFF FFFF0x4602 6000 - 0x4FFF FFFF164 MReserved-----
0x5602 5000 - 0x5602 5FFF0x4602 5000 - 0x4602 5FFF4 KLPDMA1LPDMA register mapXXXX
0x5602 4000 - 0x5602 4FFF0x4602 4000 - 0x4602 4FFF4 KADF1ADF register mapXXXX
0x5602 3C00 - 0x5602 3FFF0x4602 3C00 - 0x4602 3FFF1 KReserved-----
0x5602 3800 - 0x5602 3BFF0x4602 3800 - 0x4602 3BFF1 KGTZC2_MPCBB4GTZC2 MPCBB4 register mapXXXX
0x5602 3400 - 0x5602 37FF0x4602 3400 - 0x4602 37FF1 KGTZC2_TZICGTZC2 TZIC register mapXXXX
0x5602 3000 - 0x5602 33FF0x4602 3000 - 0x4602 33FF1 KGTZC2_TZSCGTZC2 TZSC register mapXXXX
0x5602 2400 - 0x5602 2FFF0x4602 2400 - 0x4602 2FFF3 KReserved-----
0x5602 2000 - 0x5602 23FF0x4602 2000 - 0x4602 23FF1 KEXTIEXTI register mapXXXX
0x5602 1C00 - 0x5602 1FFF0x4602 1C00 - 0x4602 1FFF1 KReserved-----
0x5602 1800 - 0x5602 1BFF0x4602 1800 - 0x4602 1BFF1 KDAC1DAC register mapXXXX
0x5602 1400 - 0x5602 17FF0x4602 1400 - 0x4602 17FF1 KReserved-----
0x5602 1000 - 0x5602 13FF0x4602 1000 - 0x4602 13FF1 KADC4ADC register mapXXXX
0x5602 0C00 - 0x5602 0FFF0x4602 0C00 - 0x4602 0FFF1 KRCCRCC register mapXXXX
0x5602 0800 - 0x5602 0BFF0x4602 0800 - 0x4602 0BFF1 KPWRPWR register mapXXXX
0x5602 0400 - 0x5602 07FF0x4602 0400 - 0x4602 07FF1 KReserved-----
0x5602 0000 - 0x5602 03FF0x4602 0000 - 0x4602 03FF1 KLPGPIO1LPGPIO register mapXXXX
APB30x5600 8000 - 0x5601 FFFF0x4600 8000 - 0x4601 FFFF96 KReserved-----
0x5600 7C00 - 0x5600 7FFF0x4600 7C00 - 0x4600 7FFF1 KTAMPTAMP register mapXXXX
0x5600 7800 - 0x5600 7BFF0x4600 7800 - 0x4600 7BFF1 KRTCRTC register mapXXXX
0x5600 7400 - 0x5600 77FF0x4600 7400 - 0x4600 77FF1 KVREFBUFVREFBUF register mapXXXX
0x5600 5800 - 0x5600 73FF0x4600 5800 - 0x4600 73FF7 KReserved-----
0x5600 5400 - 0x5600 57FF0x4600 5400 - 0x4600 57FF1 KCOMP (1)COMP register mapXXXX
0x5600 5000 - 0x5600 53FF0x4600 5000 - 0x4600 53FF1 KOPAMPOPAMP register mapXXXX
0x5600 4C00 - 0x5600 4FFF0x4600 4C00 - 0x4600 4FFF1 KLPTIM4LPTIM register mapXXXX
0x5600 4800 - 0x5600 4BFF0x4600 4800 - 0x4600 4BFF1 KLPTIM3XXXX
0x5600 4400 - 0x5600 47FF0x4600 4400 - 0x4600 47FF1 KLPTIM1XXXX
0x5600 2C00 - 0x5600 43FF0x4600 2C00 - 0x4600 43FF6 KReserved-----
0x5600 2800 - 0x5600 2BFF0x4600 2800 - 0x4600 2BFF1 KI2C3I2C register mapXXXX
0x5600 2400 - 0x5600 27FF0x4600 2400 - 0x4600 27FF1 KLPUART1LPUART register mapXXXX
0x5600 2000 - 0x5600 23FF0x4600 2000 - 0x4600 23FF1 KSPI3SPI register mapXXXX
0x5600 0800 - 0x5600 1FFF0x4600 0800 - 0x4600 1FFF6 KReserved-----
0x5600 0400 - 0x5600 07FF0x4600 0400 - 0x4600 07FF1 KSYSCFGSYSCFG register mapXXXX

Table 6. Memory map and peripheral register boundary addresses (continued)

BusSecure boundary addressNonsecure boundary addressSize (bytes)PeripheralPeripheral register mapSTM32U535/545STM32U575/585STM32U59X/5AXSTM32U5FX/5GX
AHB20x520D 3800 - 0x5600 03FF0x420D 3800 - 0x4600 03FF64.3 MReserved-----
0x520D 3400 - 0x520D 37FF0x420D 3400 - 0x420D 37FF1 KHSPI1HSPI register map--XX
0x520D 2800 - 0x520D 33FF0x420D 2800 - 0x420D 33FF3 KReserved-----
0x520D 2400 - 0x520D 27FF0x420D 2400 - 0x420D 27FF1 KOCTOSPI2 registersOCTOSPI register map-XXX
0x520D 1800 - 0x520D 23FF0x420D 1800 - 0x420D 23FF3 KReserved-----
0x520D 1400 - 0x520D 17FF0x420D 1400 - 0x420D 17FF1 KOCTOSPI1 registersOCTOSPI register mapXXXX
0x520D 0800 - 0x520D 13FF0x420D 0800 - 0x420D 13FF3 KReserved-----
0x520D 0400 - 0x520D 07FF0x420D 0400 - 0x420D 07FF1 KFSMC registersFMC register map-XXX
0x520C F800 - 0x520D 03FF0x420C F800 - 0x420D 03FF3 KReserved-----
0x520C F400 - 0x520C F7FF0x420C F400 - 0x420C F7FF1 KDLYBOS2DLYB register map-XXX
0x520C F000 - 0x520C F3FF0x420C F000 - 0x420C F3FF1 KDLYBOS1XXXX
0x520C 9000 - 0x520C EFFF0x420C 9000 - 0x420C EFFF24 KReserved-----
0x520C 8C00 - 0x520C 8FFF0x420C 8C00 - 0x420C 8FFF1 KSDMMC2SDMMC register map-XXX
0x520C 8800 - 0x520C 8BFF0x420C 8800 - 0x420C 8BFF1 KDLYBSD2DLYB register map-XXX
0x520C 8400 - 0x520C 87FF0x420C 8400 - 0x420C 87FF1 KDLYBSD1XXXX
0x520C 8000 - 0x520C 83FF0x420C 8000 - 0x420C 83FF1 KSDMMC1SDMMC register mapXXXX
0x520C 5800 - 0x520C 7FFF0x420C 5800 - 0x420C 7FFF10 KReserved-----
0x520C 5400 - 0x520C 57FF0x420C 5400 - 0x420C 57FF1 KOTFDEC2OTFDEC register map-XXX
0x520C 5000 - 0x520C 53FF0x420C 5000 - 0x420C 53FF1 KOTFDEC1XXXX
0x520C 4400 - 0x520C 4FFF0x420C 4400 - 0x420C 4FFF3 KReserved-----
0x520C 4000 - 0x520C 43FF0x420C 4000 - 0x420C 43FF1 KOCTOSPIMOCTOSPIM register map-XXX
0x520C 2000 - 0x520C 3FFF0x420C 2000 - 0x420C 3FFF8 KPKAPKA register mapXXXX
0x520C 1000 - 0x520C 1FFF0x420C 1000 - 0x420C 1FFF4 KReserved-----
0x520C 0C00 - 0x520C 0FFF0x420C 0C00 - 0x420C 0FFF1 KSAESSAES register mapXXXX
0x520C 0800 - 0x520C 0BFF0x420C 0800 - 0x420C 0BFF1 KRNGRNG register mapXXXX
0x520C 0400 - 0x520C 07FF0x420C 0400 - 0x420C 07FF1 KHASHHASH register mapXXXX
0x520C 0000 - 0x520C 03FF0x420C 0000 - 0x420C 03FF1 KAESAES register mapXXXX
0x5204 0000 - 0x5205 FFFF0x4204 0000 - 0x4205 FFFF128 KOTG_HSOTG_HS register map--XX
0x5204 0000 - 0x520B FFFF0x4204 0000 - 0x420B FFFF512 KOTG_FSOTG_FS register map-X--
0x5202 C800 - 0x5203 FFFF0x4202 C800 - 0x4203 FFFF78 KReserved-----
0x5202 C400 - 0x5202 C7FF0x4202 C400 - 0x4202 C7FF1 KPSSIPSSI register mapXXXX
0x5202 C000 - 0x5202 C3FF0x4202 C000 - 0x4202 C3FF1 KDCMIDCMI register mapXXXX
0x5202 8400 - 0x5202 BFFF0x4202 8400 - 0x4202 BFFF15 KReserved-----
0x5202 8000 - 0x5202 83FF0x4202 8000 - 0x4202 83FF1 KADC12 (2)ADC register mapXXXX
0x5202 2800 - 0x5202 7FFF0x4202 2800 - 0x4202 7FFF22 KReserved-----

Table 6. Memory map and peripheral register boundary addresses (continued)

BusSecure boundary addressNonsecure boundary addressSize (bytes)PeripheralPeripheral register mapSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
AHB2 (cont'd)0x5202 2400 - 0x5202 27FF0x4202 2400 - 0x4202 27FF1 KGPIOJGPIO register map--XX
0x5202 2000 - 0x5202 23FF0x4202 2000 - 0x4202 23FF1 KGPIOI-XXX
0x5202 1C00 - 0x5202 1FFF0x4202 1C00 - 0x4202 1FFF1 KGPIOHXXXX
0x5202 1800 - 0x5202 1BFF0x4202 1800 - 0x4202 1BFF1 KGPIOGXXXX
0x5202 1400 - 0x5202 17FF0x4202 1400 - 0x4202 17FF1 KGPIOF-XXX
0x5202 1000 - 0x5202 13FF0x4202 1000 - 0x4202 13FF1 KGPIOEXXXX
0x5202 0C00 - 0x5202 0FFF0x4202 0C00 - 0x4202 0FFF1 KGPIO DXXXX
0x5202 0800 - 0x5202 0BFF0x4202 0800 - 0x4202 0BFF1 KGPIOCXXXX
0x5202 0400 - 0x5202 07FF0x4202 0400 - 0x4202 07FF1 KGPIOBXXXX
0x5202 0000 - 0x5202 03FF0x4202 0000 - 0x4202 03FF1 KGPIOAXXXX
AHB10x5003 6C00 - 0x5201 FFFF0x4003 6C00 - 0x4201 FFFF32.7 MReserved-----
0x5003 6400 - 0x5003 6BFF0x4003 6400 - 0x4003 6BFF2 KBKPSRAM-XXXX
0x5003 4000 - 0x5003 63FF0x4003 4000 - 0x4003 63FF9 KReserved-----
0x5003 3800 - 0x5003 3BFF0x4003 3C00 - 0x4003 3FFF1 KGTZC1_MPCBB6GTZC1 MPCBBz register map (z = 1, 2, 3, 5, 6)---X
0x5003 3C00 - 0x5003 3FFF0x4003 3800 - 0x4003 3BFF1 KGTZC1_MPCBB5--XX
0x5003 3400 - 0x5003 37FF0x4003 3400 - 0x4003 37FF1 KGTZC1_MPCBB3-XXX
0x5003 3000 - 0x5003 33FF0x4003 3000 - 0x4003 33FF1 KGTZC1_MPCBB2XXXX
0x5003 2C00 - 0x5003 2FFF0x4003 2C00 - 0x4003 2FFF1 KGTZC1_MPCBB1XXXX
0x5003 2800 - 0x5003 2BFF0x4003 2800 - 0x4003 2BFF1 KGTZC1_TZICGTZC1 TZIC register mapXXXX
0x5003 2400 - 0x5003 27FF0x4003 2400 - 0x4003 27FF1 KGTZC1_TZSCGTZC1 TZSC register mapXXXX
0x5003 1C00 - 0x5003 23FF0x4003 1C00 - 0x4003 23FF2 KReserved-----
0x5003 1800 - 0x5003 1BFF0x4003 1800 - 0x4003 1BFF1 KDCACHE2DCACHE register map--XX
0x5003 1400 - 0x5003 17FF0x4003 1400 - 0x4003 17FF1 KDCACHE1XXXX
0x5003 0800 - 0x5003 13FF0x4003 0800 - 0x4003 13FF3 KReserved-----
0x5003 0400 - 0x5003 07FF0x4003 0400 - 0x4003 07FF1 KICACHEICACHE register mapXXXX
0x5003 0000 - 0x5003 03FF0x4003 0000 - 0x4003 03FF1 KReserved-----
0x5002 F000 - 0x5002 FFFF0x4002 F000 - 0x4002 FFFF4 KGPU2D---XX
0x5002 C000 - 0x5002 EFFF0x4002 C000 - 0x4002 EFFF12 KGFXMMUGFXMMU register map--XX
0x5002 BC00 - 0x5002 BFFF0x4002 BC00 - 0x4002 BFFF1 KReserved-----
0x5002 B000 - 0x5002 BBFF0x4002 B000 - 0x4002 BBFF3 KDMA2DDMA2D register map-XXX
0x5002 A000 - 0x5002 AFFF0x4002 A000 - 0x4002 AFFF4 KJPEGJPEG codec register map---X
0x5002 7000 - 0x5002 AFFF0x4002 7000 - 0x4002 AFFF16 KReserved-----
0x5002 6000 - 0x5002 6FFF0x4002 6000 - 0x4002 6FFF4 KRAMCFGRAMCFG register mapXXXX
0x5002 5000 - 0x5002 5FFF0x4002 5000 - 0x4002 5FFF4 KMDF1 (3)MDF register mapXXXX
0x5002 4400 - 0x5002 4FFF0x4002 4400 - 0x4002 4FFF3 KReserved-----
0x5002 4000 - 0x5002 43FF0x4002 4000 - 0x4002 43FF1 KTSCTSC register mapXXXX
0x5002 3400 - 0x5002 3FFF0x4002 3400 - 0x4002 3FFF3 KReserved-----
0x5002 3000 - 0x5002 33FF0x4002 3000 - 0x4002 33FF1 KCRCCRC register mapXXXX
0x5002 2400 - 0x5002 2FFF0x4002 2400 - 0x4002 2FFF3 KReserved-----
0x5002 2000 - 0x5002 23FF0x4002 2000 - 0x4002 23FF1 KFLASH registersFLASH register mapXXXX
0x5002 1800 - 0x5002 1FFF0x4002 1800 - 0x4002 1FFF2 KReserved-----
0x5002 1400 - 0x5002 17FF0x4002 1400 - 0x4002 17FF1 KFMACFMAC register mapXXXX
0x5002 1000 - 0x5002 13FF0x4002 1000 - 0x4002 13FF1 KCORDICCORDIC register mapXXXX
0x5002 0000 - 0x5002 0FFF0x4002 0000 - 0x4002 0FFF4 KGPDMA1GPDMA register mapXXXX

Table 6. Memory map and peripheral register boundary addresses (continued)

BusSecure boundary addressNonsecure boundary addressSize (bytes)PeripheralPeripheral register mapSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
APB20x5001 7C00 - 0x5001 FFFF0x4001 7C00 - 0x4001 FFFF33 KReserved-----
0x5001 6C00 - 0x5001 7BFF0x4001 6C00 - 0x4001 7BFF4 KDSIDSI register map--XX
0x5001 6800 - 0x5001 6BFF0x4001 6800 - 0x4001 6BFF1 KLTDCLTDC register map--XX
0x5001 6400 - 0x5001 67FF0x4001 6400 - 0x4001 67FF1 KGFXTIMGFXTIM register map---X
0x5001 6400 - 0x5001 6BFF0x4001 6400 - 0x4001 6BFF2 KUSB RAM-X---
0x5001 6000 - 0x5001 63FF0x4001 6000 - 0x4001 63FF1 KUSBUSB register mapX---
0x5001 5C00 - 0x5001 5FFF0x4001 5C00 - 0x4001 5FFF1 KReserved-----
0x5001 5800 - 0x5001 5BFF0x4001 5800 - 0x4001 5BFF1 KSAI2SAI register map-XXX
0x5001 5400 - 0x5001 57FF0x4001 5400 - 0x4001 57FF1 KSAI1XXXX
0x5001 4C00 - 0x5001 53FF0x4001 4C00 - 0x4001 53FF2 KReserved-----
0x5001 4800 - 0x5001 4BFF0x4001 4800 - 0x4001 4BFF1 KTIM17TIM16/TIM17 register mapXXXX
0x5001 4400 - 0x5001 47FF0x4001 4400 - 0x4001 47FF1 KTIM16XXXX
0x5001 4000 - 0x5001 43FF0x4001 4000 - 0x4001 43FF1 KTIM15TIM15 register mapXXXX
0x5001 3C00 - 0x5001 3FFF0x4001 3C00 - 0x4001 3FFF1 KReserved-----
0x5001 3800 - 0x5001 3BFF0x4001 3800 - 0x4001 3BFF1 KUSART1USART register mapXXXX
0x5001 3400 - 0x5001 37FF0x4001 3400 - 0x4001 37FF1 KTIM8TIMx register mapXXXX
0x5001 3000 - 0x5001 33FF0x4001 3000 - 0x4001 33FF1 KSPI1SPI register mapXXXX
0x5001 2C00 - 0x5001 2FFF0x4001 2C00 - 0x4001 2FFF1 KTIM1TIMx register mapXXXX
APB10x5000 E000 - 0x5001 2BFF0x4000 E000 - 0x4001 2BFF19 KReserved-----
0x5000 DC00 - 0x5000 DFFF0x4000 DC00 - 0x4000 DFFF1 KUCPD1UCPD register map-XXX
0x5000 B000 - 0x5000 DBFF0x4000 B000 - 0x4000 DBFF11 KReserved-----
0x5000 AC00 - 0x5000 AFFF0x4000 AC00 - 0x4000 AFFF1 KFDCAN1 RAM-XXXX (4)
0x5000 A800 - 0x5000 ABFF0x4000 A800 - 0x4000 ABFF1 KReserved-----
0x5000 A400 - 0x5000 A7FF0x4000 A400 - 0x4000 A7FF1 KFDCAN1FDCAN register mapXXXX (4)
0x5000 A000 - 0x5000 A3FF0x4000 A000 - 0x4000 A3FF1 KReserved-----
0x5000 9C00 - 0x5000 9FFF0x4000 9C00 - 0x4000 9FFF1 KI2C6I2C register map--XX
0x5000 9800 - 0x5000 9BFF0x4000 9800 - 0x4000 9BFF1 KI2C5--XX
0x5000 9400 - 0x5000 97FF0x4000 9400 - 0x4000 97FF1 KLPTIM2LPTIM register mapXXXX
0x5000 8800 - 0x5000 93FF0x4000 8800 - 0x4000 93FF3 KReserved-----
0x5000 8400 - 0x5000 87FF0x4000 8400 - 0x4000 87FF1 KI2C4I2C register mapXXXX
0x5000 6800 - 0x5000 83FF0x4000 6800 - 0x4000 83FF8 KReserved-----
0x5000 6400 - 0x5000 67FF0x4000 6400 - 0x4000 67FF1 KUSART6USART register map--XX
0x5000 6000 - 0x5000 63FF0x4000 6000 - 0x4000 63FF1 KCRSCRS register mapXXXX
0x5000 5C00 - 0x5000 5FFF0x4000 5C00 - 0x4000 5FFF1 KReserved-----
0x5000 5800 - 0x5000 5BFF0x4000 5800 - 0x4000 5BFF1 KI2C2I2C register mapXXXX
0x5000 5400 - 0x5000 57FF0x4000 5400 - 0x4000 57FF1 KI2C1XXXX
0x5000 5000 - 0x5000 53FF0x4000 5000 - 0x4000 53FF1 KUART5USART register mapXXXX
0x5000 4C00 - 0x5000 4FFF0x4000 4C00 - 0x4000 4FFF1 KUART4XXXX
0x5000 4800 - 0x5000 4BFF0x4000 4800 - 0x4000 4BFF1 KUSART3XXXX
0x5000 4400 - 0x5000 47FF0x4000 4400 - 0x4000 47FF1 KUSART2-XXX
0x5000 3C00 - 0x5000 43FF0x4000 3C00 - 0x4000 43FF2 KReserved-----
0x5000 3800 - 0x5000 3BFF0x4000 3800 - 0x4000 3BFF1 KSPI2SPI register mapXXXX
0x5000 3400 - 0x5000 37FF0x4000 3400 - 0x4000 37FF1 KReserved-----

Table 6. Memory map and peripheral register boundary addresses (continued)

BusSecure boundary addressNonsecure boundary addressSize (bytes)PeripheralPeripheral register mapSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
APB1 (cont'd)0x5000 3000 - 0x5000 33FF0x4000 3000 - 0x4000 33FF1 KIWDGIWDG register mapXXXX
0x5000 2C00 - 0x5000 2FFF0x4000 2C00 - 0x4000 2FFF1 KWWDGWWDG register mapXXXX
0x5000 1800 - 0x5000 2BFF0x4000 1800 - 0x4000 2BFF5 KReserved-----
0x5000 1400 - 0x5000 17FF0x4000 1400 - 0x4000 17FF1 KTIM7TIMx register mapXXXX
0x5000 1000 - 0x5000 13FF0x4000 1000 - 0x4000 13FF1 KTIM6XXXX
0x5000 0C00 - 0x5000 0FFF0x4000 0C00 - 0x4000 0FFF1 KTIM5TIMx register mapXXXX
0x5000 0800 - 0x5000 0BFF0x4000 0800 - 0x4000 0BFF1 KTIM4XXXX
0x5000 0400 - 0x5000 07FF0x4000 0400 - 0x4000 07FF1 KTIM3XXXX
0x5000 0000 - 0x5000 03FF0x4000 0000 - 0x4000 03FF1 KTIM2XXXX
  1. 1. Only one COMP in STM32U535/545.
  2. 2. No dual ADC mode on STM32U535/545/575/585.
  3. 3. MDF features only two filters in STM32U535/545.
  4. 4. FDCAN1 is not present on STM32U5Fx devices.

2.3.3 Embedded SRAMs

Table 7. SRAM sizes

SRAMSTM32U535/545STM32U575/585STM32U59x/5AxSTM32U5Fx/5Gx
SRAM1192 Kbytes768 Kbytes
SRAM264 Kbytes
SRAM3-512 Kbytes832 Kbytes
SRAM416 Kbytes
SRAM5--832 Kbytes
SRAM6---512 Kbytes
BKSRAM2 Kbytes
TOTAL274 Kbytes786 Kbytes2514 Kbytes3026 Kbytes

These SRAMs can be accessed as bytes, half-words (16 bits), or full words (32 bits). These memories can be addressed both by CPU and DMAs.

The CPU can access the SRAM1, SRAM2, SRAM3, SRAM5, and SRAM6 through the system bus, or through the C-bus depending on the selected address. The CPU can access the SRAM4 and BKPSRAM through the system bus only.

When the TrustZone security is enabled, all SRAMs are secure after reset. The SRAM can be programmed as nonsecure with a block granularity. For more details, refer to Section 5: Global TrustZone controller (GTZC) .

SRAM features are detailed in Section 6.3.1: Internal SRAMs features .

2.3.4 Flash memory overview

The flash memory is composed of two distinct physical areas:

The flash interface implements instruction access and data access based on the AHB protocol. It also implements the logic necessary to carry out the flash memory operations (program/erase) controlled through the FLASH registers plus security access control features. Refer to Section 7: Embedded flash memory (FLASH) for more details.