2. Memory and bus architecture

2.1 System architecture

An AXI bus matrix, two AHB bus matrices and bus bridges allow interconnecting bus masters with bus slaves, as illustrated in Table 3 and Figure 1 .

Table 3. Bus-master-to-bus-slave interconnect

Bus slave / type (1)Bus master / type (1)
Cortex-M7 - AXIMCortex-M7 - AHBPCortex-M7 - ITCMCortex-M7 - DTCMSDMMC1MDMA - AXIMDMA - AHBSDMA2DLTDCDMA1 - MEMDMA1 - PERIPHDMA2 - MEMDMA2 - PERIPHEth. MAC - AHBSDMMC2 - AHBUSBHS1 - AHBUSBHS2 - AHBBDMA - AHB
ITCM--X---X----------
DTCM---X--X----------
AHB3 peripheralsX----X---XXXXXXXX
APB3 peripheralsX----X---XXXXXXXX
Flash bank 1X---XX-XXXXXXXXXX
Flash bank 2 (3)X---XX-XXXXXXXXXX
AXI SRAMX---XX-XXXXXXXXXX
QUADSPIX---XX-XXXXXXXXXX
FMCX---XX-XXXXXXXXXX
SRAM 1X----X-X-XXXXXXXX
SRAM 2X----X-X-XXXXXXXX
SRAM 3X----X-X-XXXXXXXX
AHB1 peripherals-X---X-X-XXXX----
APB1 peripherals-X---X-X-XXXX----
AHB2 peripherals-X-------XXXX----
APB2 peripherals-X---X-X-XXXX----
AHB4 peripheralsX----X---XXXXXXXX
APB4 peripheralsX----X---XXXXXXXX
SRAM4X----X---XXXXXXXX
Backup RAMX----X---XXXXXXXX

1. Bold font type denotes 64-bit bus, plain type denotes 32-bit bus.

2. "X" = access possible, "-" = access not possible, shading = access useful/usable.

3. Bank 2 is not available on STM32H750xB devices.

Figure 1. System architecture for STM32H742xx, STM32H743/53xx and STM32H750xB devices

System architecture diagram for STM32H742xx, STM32H743/53xx and STM32H750xB devices. The diagram shows the internal bus structure including the Cortex-M7 core, memory (ITCM, DTCM, SRAM), and various peripherals connected via AXI and AHB bus matrices. The D1 domain contains the Cortex-M7, ITCM, DTCM, L1-Cache, AXI, SDMMC1, MDMA, DMA2D, and LTDC, connected to a 64-bit AXI bus matrix. The D2 domain contains DMA1, DMA2, Ethernet MAC, SDMMC2, USB HS1, and USB HS2, connected to a 32-bit AHB bus matrix. The D3 domain contains BDMA, AHB4, SRAM4, and Bkp SRAM, connected to another 32-bit AHB bus matrix. Interconnects include D1-to-D2, D2-to-D1, D1-to-D3, and D2-to-D3 AHB buses. A legend defines bus widths (32-bit, 64-bit), bus multiplexers, and interface types (Master, Slave) for TCM, AHB, AXI, and APB.
System architecture diagram for STM32H742xx, STM32H743/53xx and STM32H750xB devices. The diagram shows the internal bus structure including the Cortex-M7 core, memory (ITCM, DTCM, SRAM), and various peripherals connected via AXI and AHB bus matrices. The D1 domain contains the Cortex-M7, ITCM, DTCM, L1-Cache, AXI, SDMMC1, MDMA, DMA2D, and LTDC, connected to a 64-bit AXI bus matrix. The D2 domain contains DMA1, DMA2, Ethernet MAC, SDMMC2, USB HS1, and USB HS2, connected to a 32-bit AHB bus matrix. The D3 domain contains BDMA, AHB4, SRAM4, and Bkp SRAM, connected to another 32-bit AHB bus matrix. Interconnects include D1-to-D2, D2-to-D1, D1-to-D3, and D2-to-D3 AHB buses. A legend defines bus widths (32-bit, 64-bit), bus multiplexers, and interface types (Master, Slave) for TCM, AHB, AXI, and APB.

Flash memory bank 2 is not available on STM32H750xB devices.

Legend

MSv39741V6

2.1.1 Bus matrices

AXI bus matrix in D1 domain

The D1 domain multi AXI bus matrix ensures and arbitrates concurrent accesses from multiple masters to multiple slaves. This allows efficient simultaneous operation of high-speed peripherals.

The arbitration uses a round-robin algorithm with QoS capability.

Refer to Section 2.2: AXI interconnect matrix (AXIM) for more information on AXI interconnect.

AHB bus matrices in D2 and D3 domains

The AHB bus matrices in D2 and D3 domains ensure and arbitrate concurrent accesses from multiple masters to multiple slaves. This allows efficient simultaneous operation of high-speed peripherals.

The arbitration uses a round-robin algorithm.

2.1.2 TCM buses

The DTCM and ITCM (data and instruction tightly coupled RAMs) are connected through dedicated TCM buses directly to the Cortex-M7 core. The MDMA controller can access the DTCM and ITCM through AHBS, a specific CPU slave AHB. The ITCM is accessed by Cortex-M7 at CPU clock speed, with zero wait states.

2.1.3 Bus-to-bus bridges

To allow peripherals with different types of buses to communicate together, there is a number of bus-to-bus bridges in the system.

The AHB/APB bridges in D1 and D3 domains allow connecting peripherals on APB3 and APB4 to AHB3 and AHB4, respectively. The AHB/APB bridges in D2 domain allow peripherals on APB1 and APB2 to connect to AHB1. These AHB/APB bridges provide full synchronous interfacing, which allows the APB peripherals to operate with clocks independent of AHB that they connect to.

The AHB/APB bridges also allow APB1 and APB2 peripherals to connect to DMA1 and DMA2 peripheral buses, respectively, without transiting through AHB1.

The AHB/APB bridges convert 8-bit / 16-bit APB data to 32-bit AHB data, by replicating it to the three upper bytes / the upper half-word of the 32-bit word.

The AXI bus matrix incorporates AHB/AXI bus bridge functionality on its slave bus interfaces. The AXI/AHB bus bridges on its master interfaces marked as 32-bit in Figure 1 are outside the matrix.

The Cortex-M7 CPU provides AHB/TCM-bus (ITCM and DTCM buses) translation from its AHBS slave AHB, allowing the MDMA controller to access the ITCM and DTCM.

2.1.4 Inter-domain buses

D2-to-D1 AHB

This 32-bit bus connects the D2 domain to the AXI bus matrix in the D1 domain. It allows bus masters in the D2 domain to access resources (bus slaves) in the D1 domain and indirectly, via the D1-to-D3 AHB, in the D3 domain.

D1-to-D2 AHB

This 32-bit bus connects the D1 domain to the D2 domain AHB bus matrix. It allows bus masters in the D1 domain to access resources (bus slaves) in the D2 domain.

D1-to-D3 AHB

This 32-bit bus connects the D1 domain to the D3 domain AHB bus matrix. It allows bus masters in the D1 domain to access resources (bus slaves) in the D3 domain.

D2-to-D3 AHB

This 32-bit bus connects the D2 domain to the D3 domain AHB bus matrix. It allows bus masters in the D2 domain to access resources (bus slaves) in the D3 domain.

2.1.5 CPU buses

Cortex ® -M7 AXIM bus

The Cortex ® -M7 CPU uses the 64-bit AXIM bus to access all memories (excluding ITCM, and DTCM) and AHB3, AHB4, APB3 and APB4 peripherals (excluding AHB1, APB1 and APB2 peripherals).

The AXIM bus connects the CPU to the AXI bus matrix in the D1 domain.

Cortex ® -M7 ITCM bus

The Cortex ® -M7 CPU uses the 64-bit ITCM bus for fetching instructions from and accessing data in the ITCM.

Cortex ® -M7 DTCM bus

The Cortex ® -M7 CPU uses the 2x32-bit DTCM bus for accessing data in the DTCM. The 2x32-bit DTCM bus allows load/load and load/store instruction pairs to be dual-issued on the DTCM memory. It can also fetch instructions.

Cortex ® -M7 AHBS bus

The Cortex ® -M7 CPU uses the 32-bit AHBS slave bus to allow the MDMA controller to access the ITCM and the DTCM.

Cortex ® -M7 AHBP bus

The Cortex ® -M7 CPU uses the 32-bit AHBP bus for accessing AHB1, AHB2, APB1 and APB2 peripherals via the AHB bus matrix in the D2 domain.

2.1.6 Bus master peripherals

SDMMC1

The SDMMC1 uses a 32-bit bus, connected to the AXI bus matrix, through which it can access internal AXI SRAM and Flash memories, and external memories through the Quad-SPI controller and the FMC.

SDMMC2

The SDMMC2 uses a 32-bit bus, connected to the AHB bus matrix in D2 domain. Through the system bus matrices, it can access the internal AXI SRAM, SRAM1, SRAM2, SRAM3 and Flash memories, and external memories through the Quad-SPI controller and the FMC.

MDMA controller

The MDMA controller has two bus masters: an AXI 64-bit bus, connected to the AXI bus matrix and an AHB 32-bit bus connected to the Cortex-M7 AHBS slave bus.

The MDMA is optimized for DMA data transfers between memories since it supports linked list transfers that allow performing a chained list of transfers without the need for CPU intervention. Through the system bus matrices and the Cortex-M7 AHBS slave bus, the MDMA can access all internal and external memories through the Quad-SPI controller and the FMC.

DMA1 and DMA2 controllers

The DMA1 and DMA2 controllers have two 32-bit buses - memory bus and peripheral bus, connected to the AHB bus matrix in D2 domain.

The memory bus allows DMA data transfers between memories. Through the system bus matrices, the memory bus can access all internal memories except ITCM and DTCM, and external memories through the Quad-SPI controller and the FMC.

The peripheral bus allows DMA data transfers between two peripherals, between two memories or between a peripheral and a memory. Through the system bus matrices, the peripheral bus can access all internal memories except ITCM and DTCM, external memories through the Quad-SPI controller and the FMC, and all AHB and APB peripherals. A direct access to APB1 and APB2 is available, without passing through AHB1. Direct path to APB1 and APB2 bridges allows reducing the bandwidth usage on AHB1 bus by improving data treatment efficiency for APB and AHB peripherals.

BDMA controller

The BDMA controller uses a 32-bit bus, connected to the AHB bus matrix in D3 domain, for DMA data transfers between two peripherals, between two memories or between a peripheral and a memory. BDMA transfers are limited to the D3 domain resources. It can access the internal SRAM4, backup RAM, and AHB4 and APB4 peripherals through the AHB bus matrix in the D3 domain.

Chrom-Art Accelerator (DMA2D)

The DMA2D graphics accelerator uses a 64-bit bus, connected to the AXI bus matrix. Through the system bus matrices, internal AXI SRAM, SRAM1, SRAM2, SRAM3 and Flash memories, and external memories through the Quad-SPI controller and the FMC.

LCD-TFT controller (LTDC)

The LCD-TFT display controller, LTDC, uses a 64-bit bus, connected to the AXI bus matrix, through which it can access internal AXI SRAM and Flash memories, and external memories through the Quad-SPI controller and the FMC.

Ethernet MAC

The Ethernet MAC uses a 32-bit bus, connected to the AHB bus matrix in the D2 domain. Through the system bus matrices, it can access all internal memories except ITCM and DTCM, and external memories through the Quad-SPI controller and the FMC.

USBHS1 and USBHS2 peripherals

The USBHS1 and USBHS2 peripherals use 32-bit buses, connected to the AHB bus matrix in the D2 domain. Through the system bus matrices, they can access all internal memories except ITCM and DTCM, and external memories through the Quad-SPI controller and the FMC.

2.1.7 Clocks to functional blocks

Upon reset, clocks to blocks such as peripherals and some memories are disabled (except for the SRAM, DTCM, ITCM and Flash memory). To operate a block with no clock upon reset, the software must first enable its clock through RCC_AHBxENR or RCC_APBxENR register, respectively.

2.2 AXI interconnect matrix (AXIM)

2.2.1 AXI introduction

The AXI (advanced extensible interface) interconnect is based on the Arm® CoreLink™ NIC-400 Network Interconnect. The interconnect has six initiator ports, or ASIBs (AMBA slave interface blocks), and seven target ports, or AMIBs (AMBA master interface blocks). The ASIBs are connected to the AMIBs via an AXI switch matrix.

Each ASIB is a slave on an AXI bus or AHB (advanced high-performance bus). Similarly, each AMIB is a master on an AXI or AHB bus. Where an ASIB or AMIB is connected to an AHB, it converts between the AHB and the AXI protocol.

The AXI interconnect includes a GPV (global programmer view) which contains registers for configuring certain parameters, such as the QoS (quality of service) level at each ASIB.

Any accesses to unallocated address space are handled by the default slave, which generates the return signals. This ensures that such transactions complete and do not block the issuing master and ASIB.

2.2.2 AXI interconnect main features

2.2.3 AXI interconnect functional description

Block diagram

The AXI interconnect is shown in Figure 2 .

Block diagram of the AXI interconnect showing Masters (D2 AHB, C-M7, SDMMC1, MDMA, DMA2D, LTDC) connected to ASIBs (INI 1-6), which are connected to an AXI switch matrix. The matrix is also connected to GPV and a default slave. The matrix outputs to AMIBs (TARG 1-7), which are connected to Slaves (AXI/AHB bridge, Flash A, Flash B, FMC, QSPI, AXI SRAM). The diagram also shows connections to AHB3 periphs D3 domain and D2 domain. A legend indicates 32-bit bus (single line) and 64-bit bus (double line).

Figure 2. AXI interconnect

MSV39758V1

Block diagram of the AXI interconnect showing Masters (D2 AHB, C-M7, SDMMC1, MDMA, DMA2D, LTDC) connected to ASIBs (INI 1-6), which are connected to an AXI switch matrix. The matrix is also connected to GPV and a default slave. The matrix outputs to AMIBs (TARG 1-7), which are connected to Slaves (AXI/AHB bridge, Flash A, Flash B, FMC, QSPI, AXI SRAM). The diagram also shows connections to AHB3 periphs D3 domain and D2 domain. A legend indicates 32-bit bus (single line) and 64-bit bus (double line).

ASIB configuration

Table 4 summarizes the characteristics of the ASIBs.

Table 4. ASIB configuration

ASIBConnected masterProtocolBus widthR/W issuing
INI 1AHB from D2 domainAHB-lite321/4
INI 2Cortex-M7AXI4647/32
INI 3SDMMC1AHB-lite321/4
INI 4MDMAAXI4644/1
INI 5DMA2DAXI4642/1
INI 6LTDCAXI4641/1

AMIB configuration

Table 5 summarizes the characteristics of the AMIBs.

Table 5. AMIB configuration

AMIBConnected slaveProtocolBus widthR/W/Total acceptance
TARG 1Peripheral 3 and D3 AHBAXI4 (1)321/1/1
TARG 2D2 AHBAXI4 (1)321/1/1
TARG 3Flash AAXI4643/2/5
TARG 4Flash BAXI4643/2/5
TARG 5FMCAXI4643/3/6
TARG 6QUADSPIAXI4642/1/3
TARG 7AXI SRAMAXI3642/2/2
  1. 1. Conversion to AHB protocol is done via an AXI/AHB bridge sitting between AXI interconnect and the connected slave.

Quality of service (QoS)

The AXI switch matrix uses a priority-based arbitration when two ASIB simultaneously attempt to access the same AMIB. Each ASIB has programmable read channel and write channel priorities, known as QoS, from 0 to 15, such that the higher the value, the higher the priority. The read channel QoS value is programmed in the AXI interconnect - INI x read QoS register (AXI_INIx_READ_QOS) , and the write channel in the AXI interconnect - INI x write QoS register (AXI_INIx_WRITE_QOS) . The default QoS value for all channels is 0 (lowest priority).

If two coincident transactions arrive at the same AMIB, the higher priority transaction passes before the lower priority. If the two transactions have the same QoS value, then a least-recently-used (LRU) priority scheme is adopted.

The QoS values should be programmed according to the latency requirements for the application. Setting a higher priority for an ASIB ensures a lower latency for transactions initiated by the associated bus master. This can be useful for real-time-constrained tasks, such as graphics processing (LTDC, DMA2D). Assigning a high priority to masters that can make many and frequent accesses to the same slave (such as the Cortex-M7 CPU) can block access to that slave by other lower-priority masters.

Global programmer view (GPV)

The GPV contains configuration registers for the AXI interconnect (see Section 2.2.4 ). These registers are only accessible by the Cortex-M7 CPU.

2.2.4 AXI interconnect registers

AXI interconnect - peripheral ID4 register (AXI_PERIPH_ID_4)

Address offset: 0x1FD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.4KCOUNT[3:0]JEP106CON[3:0]
rr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 4KCOUNT[3:0] : Register file size

0x0: N/A

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm ®

AXI interconnect - peripheral ID0 register (AXI_PERIPH_ID_0)

Address offset: 0x1FE0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
r

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Peripheral part number bits 0 to 7

0x00: Part number = 0x400

AXI interconnect - peripheral ID1 register (AXI_PERIPH_ID_1)

Address offset: 0x1FE4

Reset value: 0x0000 00B4

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity bits 0 to 3
0xB: Arm® JEDEC code

Bits 3:0 PARTNUM[11:8] : Peripheral part number bits 8 to 11
0x4: Part number = 0x400

AXI interconnect - peripheral ID2 register (AXI_PERIPH_ID_2)

Address offset: 0x1FE8

Reset value: 0x0000 002B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrr

Bits 7:4 REVISION[3:0] : Peripheral revision number
0x2: r0p2

Bit 3 JEDEC : JEP106 code flag
0x1: JEDEC allocated code

Bits 2:0 JEP106ID[6:4] : JEP106 Identity bits 4 to 6
0x3: Arm® JEDEC code

AXI interconnect - peripheral ID3 register (AXI_PERIPH_ID_3)

Address offset: 0x1FEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REV_AND[3:0]CUST_MOD_NUM[3:0]
rr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REV_AND[3:0] : Customer version

0: None

Bits 3:0 CUST_MOD_NUM[3:0] : Customer modification

0: None

AXI interconnect - component ID0 register (AXI_COMP_ID_0)

Address offset: 0x1FF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
r

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Preamble bits 0 to 7

0xD: Common ID value

AXI interconnect - component ID1 register (AXI_COMP_ID_1)

Address offset: 0x1FF4

Reset value: 0x0000 00F0

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component class

0xF: Generic IP component class

Bits 3:0 PREAMBLE[11:8] : Preamble bits 8 to 11

0x0: Common ID value

AXI interconnect - component ID2 register (AXI_COMP_ID_2)

Address offset: 0x1FF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
r

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Preamble bits 12 to 19

0x05: Common ID value

AXI interconnect - component ID3 register (AXI_COMP_ID_3)

Address offset: 0x1FFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
r

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Preamble bits 20 to 27

0xB1: Common ID value

AXI interconnect - TARG x bus matrix issuing functionality register (AXI_TARGx_FN_MOD_ISS_BM)

Address offset: 0x1008 + 0x1000 * x, where x = 1 to 7

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE
ISS
OVERR
IDE
READ
ISS
OVERR
IDE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 WRITE_ISS_OVERRIDE : Switch matrix write issuing override for target

0: Normal issuing capability

1: Set switch matrix write issuing capability to 1

Bit 0 READ_ISS_OVERRIDE : Switch matrix read issuing override for target

0: Normal issuing capability

1: Set switch matrix read issuing capability to 1

AXI interconnect - TARG x bus matrix functionality 2 register
(AXI_TARGx_FN_MOD2)

Address offset: \( 0x1024 + 0x1000 * x \) , where \( x = 1, 2 \) and \( 7 \)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS_MERGE
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 BYPASS_MERGE : Disable packing of beats to match the output data width. Unaligned transactions are not realigned to the input data word boundary.

0: Normal operation

1: Disable packing

AXI interconnect - TARG x long burst functionality modification register
(AXI_TARGx_FN_MOD_LB)

Address offset: \( 0x102C + 0x1000 * x \) , where \( x = 1 \) and \( 2 \)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FN_MOD_LB
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 FN_MOD_LB : Controls burst breaking of long bursts

0: Long bursts can not be generated at the output of the ASIB

1: Long bursts can be generated at the output of the ASIB

AXI interconnect - TARG x issuing functionality modification register (AXI_TARGx_FN_MOD)

Address offset: 0x1108 + 0x1000 * x, where x = 1, 2 and 7

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE
ISS
OVERR
IDE
READ
ISS
OVERR
IDE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 WRITE_ISS_OVERRIDE : Override AMIB write issuing capability

0: Normal issuing capability

1: Force issuing capability to 1

Bit 0 READ_ISS_OVERRIDE : Override AMIB read issuing capability

0: Normal issuing capability

1: Force issuing capability to 1

AXI interconnect - INI x functionality modification 2 register (AXI_INIx_FN_MOD2)

Address offset: 0x41024 + 0x1000 * x, where x = 1 and 3

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS
S_MERGE
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 BYPASS_MERGE : Disables alteration of transactions by the up-sizer unless required by the protocol

0: Normal operation

1: Transactions pass through unaltered where allowed

AXI interconnect - INI x AHB functionality modification register
(AXI_INIx_FN_MOD_AHB)

Address offset: 0x41028 + 0x1000 * x, where x = 1 and 3

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WR_IN
C_OVE
RRIDE
RD_IN
C_OVE
RRIDE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 WR_INC_OVERRIDE : Converts all AHB-Lite read transactions to a series of single beat AXI transactions.

0: Override disabled

1: Override enabled

Bit 0 RD_INC_OVERRIDE : Converts all AHB-Lite write transactions to a series of single beat AXI transactions, and each AHB-Lite write beat is acknowledged with the AXI buffered write response.

0: Override disabled

1: Override enabled

AXI interconnect - INI x read QoS register (AXI_INIx_READ_QOS)

Address offset: 0x41100 + 0x1000 * x, where x = 1 to 76

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS[3:0]
rw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 AR_QOS[3:0] : Read channel QoS setting

0x0: Lowest priority

0xF: Highest priority

AXI interconnect - INI x write QoS register (AXI_INIx_WRITE_QOS)

Address offset: 0x41104 + 0x1000 * x, where x = 1 to 76

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS[3:0]
rw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 AW_QOS[3:0] : Write channel QoS setting

0x0: Lowest priority

0xF: Highest priority

AXI interconnect - INI x issuing functionality modification register (AXI_INIx_FN_MOD)

Address offset: 0x41108 + 0x1000 * x, where x = 1 to 76

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE
ISS
OVERR
IDE
READ
ISS
OVERR
IDE
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 WRITE_ISS_OVERRIDE : Override ASIB write issuing capability

0: Normal issuing capability

1: Force issuing capability to 1

Bit 0 READ_ISS_OVERRIDE : Override ASIB read issuing capability

0: Normal issuing capability

1: Force issuing capability to 1

2.2.5 AXI interconnect register map

Table 6. AXI interconnect register map and reset values

1
OffsetRegister name313029282726252423222120191817161514131211109876543210
0x1FD0AXI_PERIPH_
ID_4
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.4KCOUNT [3:0]JEP106CON [3:0]
Reset value00000100
0x1FD4AXI_PERIPH_
ID_5
Res.Reserved
Reset value00000000
0x1FD8AXI_PERIPH_
ID_6
Res.Reserved
Reset value00000000
0x1FDCAXI_PERIPH_
ID_7
Res.Reserved
Reset value00000000
0x1FE0AXI_PERIPH_
ID_0
Res.PARTNUM[7:0]
Reset value00000000
0x1FE4AXI_PERIPH_
ID_1
Res.JEP106ID [3:0]PARTNUM [11:8]
Reset value10110100
0x1FE8AXI_PERIPH_
ID_2
Res.REVISION [3:0]JEDECJEP106ID [6:4]
Reset value00101011
0x1FECAXI_PERIPH_
ID_3
Res.REV_AND[3:0]CUST_MOD_NUM [3:0]
Reset value00000000
0x1FF0AXI_COMP_
ID_0
PREAMBLE[7:0]
Reset value0000110
0x1FF4AXI_COMP_
ID_1
Res.CLASS[3:0]PREAMBLE [11:8]
Reset value11110000

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x1FF8AXI_COMP_ID_2PREAMBLE[19:12]
Reset value0 0 0 0 0 1 0 1
0x1FFCAXI_COMP_ID_3PREAMBLE[27:20]
Reset value1 0 1 1 1 0 0 0 1
0x2000 - 0x2004Reserved
0x2008AXI_TARG1_FN_MOD_ISS_BM0 WRITE ISS OVERRIDE
0 READ ISS OVERRIDE
Reset value0 0
0x200C - 0x2020Reserved
0x2024AXI_TARG1_FN_MOD20 BYPASS_MERGE
Reset value0
0x2028Reserved
0x202CAXI_TARG1_FN_MOD_LB0 FN_MOD_LB
Reset value0
0x2030 - 0x2104Reserved
0x2108AXI_TARG1_FN_MOD0 WRITE ISS OVERRIDE
0 READ ISS OVERRIDE
Reset value0 0
0x210C - 0x3004Reserved

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x3008AXI_TARG2_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x300C -
0x3020
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x3024AXI_TARG2_
FN_MOD2
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS_MERGE
Reset value0
0x3028ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x302CAXI_TARG2_
FN_MOD_LB
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FN_MOD_LB
Reset value0
0x3030 -
0x3104
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x3108AXI_TARG2_
FN_MOD
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x310C -
0x4004
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x4008AXI_TARG3_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x400C -
0x5004
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x5008AXI_TARG4_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x500C -
0x6004
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x6008AXI_TARG5_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x600C -
0x7004
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x7008AXI_TARG6_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x700C -
0x8004
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x8008AXI_TARG7_
FN_MOD_
ISS_BM
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x800C -
0x8020
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x8024AXI_TARG7_
FN_MOD2
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS_MERGE
Reset value0
Table 6. AXI interconnect register map and reset values (continued)
OffsetRegister name313029282726252423222120191817161514131211109876543210
0x8028 - 0x8104ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x8108AXI_TARG7_FN_MODRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x810C-0x42020ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x42024AXI_INI1_FN_MOD2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS_MERGE
Reset value0
0x42028AXI_INI1_FN_MOD_AHBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WR_INC_OVERRIDERD_INC_OVERRIDE
Reset value00
0x4202C-0x420FCReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x42100AXI_INI1_READ_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS [3:0]
Reset value0 0 0 0
0x42104AXI_INI1_WRITE_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS [3:0]
Reset value0 0 0 0
0x42108AXI_INI1_FN_MODRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x4210C-0x430FCReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x43100AXI_INI2_READ_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS [3:0]
Reset value0000
0x43104AXI_INI2_WRITE_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS [3:0]
Reset value0000
0x43108AXI_INI2_FN_MODRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x4310C - 0x44020ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x44024AXI_INI3_FN_MOD2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BYPASS_MERGE
Reset value0
0x44028AXI_INI3_FN_MOD_AHBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WR_INC_OVERRIDERD_INC_OVERRIDE
Reset value00
0x4402C - 0x440FCReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x44100AXI_INI3_READ_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS [3:0]
Reset value0000
0x44104AXI_INI3_WRITE_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS [3:0]
Reset value0000

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x44108AXI_INI3_
FN_MOD
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x4410C-
0x450FC
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x45100AXI_INI4_
READ_QOS
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS
[3:0]
Reset value0000
0x45104AXI_INI4_
WRITE_QOS
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS
[3:0]
Reset value0000
0x45108AXI_INI4_
FN_MOD
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x4510C-
0x460FC
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x46100AXI_INI5_
READ_QOS
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS
[3:0]
Reset value0000
0x46104AXI_INI5_
WRITE_QOS
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS
[3:0]
Reset value0000
0x46108AXI_INI5_
FN_MOD
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE_ISS_OVERRIDEREAD_ISS_OVERRIDE
Reset value00
0x4610C-
0x470FC
ReservedRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x47100AXI_INI6_
READ_QOS
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR_QOS
[3:0]
Reset value0000

Table 6. AXI interconnect register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x47104AXI_INI6_WRITE_QOSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AW_QOS [3:0]
Reset value0000
0x47108AXI_INI6_FN_MODRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WRITE ISS OVERRIDE
Reset value0

Refer to Section 2.3 on page 129 for the register boundary addresses.

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.

The addressable memory space is divided into eight main blocks, of 512 Mbytes each.

2.3.2 Memory map and register boundary addresses

Table 7. Memory map and default device memory area attributes

RegionBoundary addressArm® Cortex®-M7TypeAttributesExecute never
External Devices0xD0000000 - 0xDFFFFFFFFMC SDRAM Bank2 (or Reserved in case of FMC remap)Device-Yes
0xCC000000 - 0xCFFFFFFFFMC SDRAM Bank1 (or remap of FMC NOR/PSRAM/SRAM 4 Bank1)
0xC8000000 - 0xCBFFFFFFFMC SDRAM Bank1 (or remap of FMC NOR/PSRAM/SRAM 3 Bank1)
0xC4000000 - 0xC7FFFFFFFMC SDRAM Bank1 (or remap of FMC NOR/PSRAM/SRAM 2 Bank1)
0xC0000000 - 0xC3FFFFFFFMC SDRAM Bank1 (or remap of FMC NOR/PSRAM/SRAM 1 Bank1)
0xA0000000 - 0xBFFFFFFFReserved
External Memories0x90000000 - 0x9FFFFFFFQUADSPINormalWrite-through cache attributeNo
0x80000000 - 0x8FFFFFFFFMC NAND Flash memoryWrite-back, write allocate cache attribute
0x70000000 - 0x7FFFFFFFReserved (or remap of FMC SDRAM Bank2)
0x6C000000 - 0x6FFFFFFFFMC NOR/PSRAM/SRAM 4 Bank1 (or remap of FMC SDRAM Bank1)
0x68000000 - 0x6BFFFFFFFMC NOR/PSRAM/SRAM 3 Bank1 (or remap of FMC SDRAM Bank1)
0x64000000 - 0x67FFFFFFFMC NOR/PSRAM/SRAM 2 Bank1 (or remap of FMC SDRAM Bank1)
0x60000000 - 0x63FFFFFFFMC NOR/PSRAM/SRAM 1 Bank1 (or remap of FMC SDRAM Bank1)
Peripherals0x40000000 - 0x5FFFFFFFPeripherals (refer to Table 8: Register boundary addresses )Device-Yes

Table 7. Memory map and default device memory area attributes

RegionBoundary addressArm® Cortex®-M7TypeAttributesExecute never
RAM0x38801000 - 0x3FFFFFFReservedNormalWrite-back, write allocate cache attributeNo
0x38800000 - 0x38800FFFBackup SRAM
0x38010000 - 0x387FFFFFFReserved
0x38000000 - 0x38000FFFSRAM4
0x30048000 - 0x37FFFFFFReserved
0x30040000 - 0x30047FFFSRAM3
0x30020000 - 0x3003FFFSRAM2
0x30000000 - 0x3001FFFSRAM1
0x24080000 - 0x2FFFFFFReserved
0x24000000 - 0x2407FFFAXI SRAM
0x20020000 - 0x23FFFFFFReserved
0x20000000 - 0x2001FFFDTCM
Code0x1FF20000 - 0x1FFFFFFReservedNormalWrite-through cache attributeNo
Bank 1:
0x1FF00000 - 0x1FF1FFF
Bank 2:
0x1FF40000 - 0x1FF5FFF
System memory
0x08200000 - 0x1FEFFFFReserved
0x08100000 - 0x081FFFFFlash memory bank 2 (1)
0x08000000 - 0x080FFFFFlash memory bank 1 (2)
0x00010000 - 0x07FFFReserved
0x00000000 - 0x0000FFFITCM

1. Flash memory bank 2 boundary is limited to 0x08100000 - 0x0817FFF on STM32H742xG/STM32H743xG. It is reserved on STM32H750xB.

2. Flash memory bank 1 boundary is limited to 0x08000000 - 0x0807FFF and 0x08000000 - 0x0801FFF on STM32H742xG/STM32H743xG and STM32H750xB boundary, respectively.

All the memory map areas that are not allocated to on-chip memories and peripherals are considered “Reserved”. For the detailed mapping of available memory and register areas, refer to the following table.

The following table gives the boundary addresses of the peripherals available in the devices.

Table 8. Register boundary addresses (1)

Boundary addressPeripheralBusRegister map
0x58027000 - 0x580273FFRAMECC3Section 3.4: RAMECC registers
0x58026400 - 0x580267FFHSEMSection 10.4: HSEM registers
0x58026000 - 0x580263FFADC3Section 25.7: ADC common registers
0x58025800 - 0x58025BFFDMAMUX2Section 17.6: DMAMUX registers
0x58025400 - 0x580257FFBDMASection 16.6: BDMA registers
0x58024C00 - 0x58024FFFCRCSection 21.4: CRC registers
0x58024800 - 0x58024BFFPWRSection 6.8: PWR register description
0x58024400 - 0x580247FFRCCSection 8.7: RCC register description
0x58022800 - 0x58022BFFGPIOKSection 11.4: GPIO registers
0x58022400 - 0x580227FFGPIOJSection 11.4: GPIO registers
0x58022000 - 0x580223FFGPIOISection 11.4: GPIO registers
0x58021C00 - 0x58021FFFGPIOHSection 11.4: GPIO registers
0x58021800 - 0x58021BFFGPIOGSection 11.4: GPIO registers
0x58021400 - 0x580217FFGPIOFSection 11.4: GPIO registers
0x58021000 - 0x580213FFGPIOESection 11.4: GPIO registers
0x58020C00 - 0x58020FFFGPIO DSection 11.4: GPIO registers
0x58020800 - 0x58020BFFGPIOCSection 11.4: GPIO registers
0x58020400 - 0x580207FFGPIOBSection 11.4: GPIO registers
0x58020000 - 0x580203FFGPIOASection 11.4: GPIO registers
Table 8. Register boundary addresses (1) (continued)
Boundary addressPeripheralBusRegister map
0x58005800 - 0x58006BFFReservedAPB4
(D3)
Reserved
0x58005400 - 0x580057FFSAI4Section 51.6: SAI registers
0x58004C00 - 0x58004FFFReservedReserved
0x58004800 - 0x58004BFFIWDG1Section 45.4: IWDG registers
0x58004000 - 0x580043FFRTC & BKP registersSection 46.6: RTC registers
0x58003C00 - 0x58003FFFVREFSection 27.3: VREFBUF registers
0x58003800 - 0x58003BFFCOMP1 - COMP2Section 28.7: COMP registers
0x58003000 - 0x580033FFLPTIM5Section 43.7: LPTIM registers
0x58002C00 - 0x58002FFFLPTIM4Section 43.7: LPTIM registers
0x58002800 - 0x58002BFFLPTIM3Section 43.7: LPTIM registers
0x58002400 - 0x580027FFLPTIM2Section 43.7: LPTIM registers
0x58001C00 - 0x58001FFFI2C4Section 47.7: I2C registers
0x58001400 - 0x580017FFSPI6Section 50.11: SPI/I2S registers
0x58000C00 - 0x58000FFFLPUART1Section 49.7: LPUART registers
0x58000400 - 0x580007FFSYSCFGSection 12.3: SYSCFG registers
0x58000000 - 0x580003FFEXTISection 20.6: EXTI registers
0x52009000 - 0x520093FFRAMECC1AHB3
(D1)
Section 3.4: RAMECC registers
0x52008000 - 0x52008FFFDelay Block
SDMMC1
Section 24.4: DLYB registers
0x52007000 - 0x52007FFFSDMMC1Section 55.10: SDMMC registers
0x52006000 - 0x52006FFFDelay Block
QUADSPI
Section 24.4: DLYB registers
0x52005000 - 0x52005FFFQUADSPI control registersSection 23.5: QUADSPI registers
0x52004000 - 0x52004FFFFMC control registersSection 22.7.6: NOR/PSRAM controller registers ,
Section 22.8.7: NAND flash controller registers ,
Section 22.9.5: SDRAM controller registers
0x52003000 - 0x52003FFFJPEGSection 33.5: JPEG codec registers
0x52002000 - 0x52002FFFFlash interface registersSection 4.9: FLASH registers
0x52001000 - 0x52001FFFChrom-Art (DMA2D)Section 18.5: DMA2D registers
0x52000000 - 0x52000FFFMDMASection 14.5: MDMA registers
0x51000000 - 0x510FFFFFGPVAPB3
(D1)
Section 2.2: AXI interconnect matrix (AXIM)
0x50003000 - 0x50003FFFWWDG1Section 44.5: WWDG registers
0x50001000 - 0x50001FFFLTDCSection 32.7: LTDC registers
0x50000000 - 0x50000FFFReserved-
0x48023000 - 0x480233FFRAMECC2Section 3.4: RAMECC registers
Table 8. Register boundary addresses (1) (continued)
Boundary addressPeripheralBusRegister map
0x48022800 - 0x48022BFFDelay Block
SDMMC2
AHB2
(D2)
Section 24.4: DLYB registers
0x48022400 - 0x480227FFSDMMC2Section 55.10: SDMMC registers
0x48021800 - 0x48021BFFRNGSection 34.7: RNG registers
0x48021400 - 0x480217FFHASHSection 36.7: HASH registers
0x48021000 - 0x480213FFCRYPTOSection 35.7: CRYPT registers
0x48020000 - 0x480203FFDCMISection 31.5: DCMI registers
0x40080000 - 0x400BFFFFUSB2 OTG_FSAHB1
(D2)
Section 57.14: OTG_HS registers
0x40040000 - 0x4007FFFFUSB1 OTG_HSSection 57.14: OTG_HS registers
0x40028000 - 0x400293FFETHERNET MACSection 58.11: Ethernet registers
0x40024400 - 0x400247FFReservedReserved
0x40022000 - 0x400223FFADC1 - ADC2Section 25.7: ADC common registers
0x40020800 - 0x40020BFFDMAMUX1Section 17.6: DMAMUX registers
0x40020400 - 0x400207FFDMA2Section 15.5: DMA registers
0x40020000 - 0x400203FFDMA1Section 15.5: DMA registers
0x40017400 - 0x400177FFHRTIMAPB2
(D2)
Section 37.5: HRTIM registers
0x40017000 - 0x400173FFDFSDM1Section 30.7: DFSDM channel y registers (y=0..7) ,
Section 30.8: DFSDM filter x module registers (x=0..3)
0x40016000 - 0x400163FFSAI3Section 51.6: SAI registers
0x40015C00 - 0x40015FFFSAI2Section 51.6: SAI registers
0x40015800 - 0x40015BFFSAI1Section 51.6: SAI registers
0x40015000 - 0x400153FFSPI5Section 50.11: SPI/I2S registers
0x40014800 - 0x40014BFFTIM17Section 41.6: TIM16/TIM17 registers
0x40014400 - 0x400147FFTIM16Section 41.6: TIM16/TIM17 registers
0x40014000 - 0x400143FFTIM15Section 41.5: TIM15 registers
0x40013400 - 0x400137FFSPI4Section 50.11: SPI/I2S registers
0x40013000 - 0x400133FFSPI1 / I2S1Section 50.11: SPI/I2S registers
0x40011400 - 0x400117FFUSART6Section 48.8: USART registers
0x40011000 - 0x400113FFUSART1Section 48.8: USART registers
0x40010400 - 0x400107FFTIM8Section 38.4: TIM1/TIM8 registers
0x40010000 - 0x400103FFTIM1Section 38.4: TIM1/TIM8 registers
Table 8. Register boundary addresses (1) (continued)
Boundary addressPeripheralBusRegister map
0x4000AC00 - 0x4000D3FFCAN Message RAMAPB1
(D2)
Section 56.5: FDCAN registers
0x4000A800 - 0x4000ABFFCAN CCUSection 56.5: FDCAN registers
0x4000A400 - 0x4000A7FFFDCAN2Section 56.5: FDCAN registers
0x4000A000 - 0x4000A3FFFDCAN1Section 56.5: FDCAN registers
0x40009400 - 0x400097FFMDOISSection 54.4: MDOIS registers
0x40009000 - 0x400093FFOPAMPSection 29.6: OPAMP registers
0x40008800 - 0x40008BFFSWPMISection 53.6: SWPMI registers
0x40008400 - 0x400087FFCRSSection 9.8: CRS registers
0x40007C00 - 0x40007FFFUART8Section 48.8: USART registers
0x40007800 - 0x40007BFFUART7Section 48.8: USART registers
0x40007400 - 0x400077FFDAC1Section 26.7: DAC registers
0x40006C00 - 0x40006FFFHDMI-CECSection 59.7: HDMI-CEC registers
0x40005C00 - 0x40005FFFI2C3Section 47.7: I2C registers
0x40005800 - 0x40005BFFI2C2Section 47.7: I2C registers
0x40005400 - 0x400057FFI2C1Section 47.7: I2C registers
0x40005000 - 0x400053FFUART5Section 48.8: USART registers
0x40004C00 - 0x40004FFFUART4Section 48.8: USART registers
0x40004800 - 0x40004BFFUSART3Section 48.8: USART registers
0x40004400 - 0x400047FFUSART2Section 48.8: USART registers
0x40004000 - 0x400043FFSPDIFRX1Section 52.5: SPDIFRX interface registers
0x40003C00 - 0x40003FFFSPI3 / I2S3Section 50.11: SPI/I2S registers
0x40003800 - 0x40003BFFSPI2 / I2S2Section 50.11: SPI/I2S registers
0x40002C00 - 0x40002FFFReservedReserved
0x40002400 - 0x400027FFLPTIM1Section 43.7: LPTIM registers
0x40002000 - 0x400023FFTIM14Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40001C00 - 0x40001FFFTIM13Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40001800 - 0x40001BFFTIM12Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40001400 - 0x400017FFTIM7Section 42.4: TIM6/TIM7 registers
0x40001000 - 0x400013FFTIM6Section 42.4: TIM6/TIM7 registers
0x40000C00 - 0x40000FFFTIM5Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40000800 - 0x40000BFFTIM4Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40000400 - 0x400007FFTIM3Section 39.4: TIM2/TIM3/TIM4/TIM5 registers
0x40000000 - 0x400003FFTIM2Section 39.4: TIM2/TIM3/TIM4/TIM5 registers

1. Accessing a reserved area results in a bus error. Accessing undefined memory space in a peripheral returns zeros.

2.4 Embedded SRAM

The STM32H742xx, STM32H743/53xx and STM32H750xB devices feature:

The embedded system SRAM is divided into up to five blocks over the three power domains:

The system AHB SRAM can be accessed as bytes, half-words (16-bit units) or words (32-bit units), while the system AXI SRAM can be accessed as bytes, half-words, words or double-words (64-bit units). These memories can be addressed at maximum system clock frequency without wait state.

The AHB masters can read/write-access an SRAM section concurrently with the Ethernet MAC or the USB OTG HS peripheral accessing another SRAM section. For example, the Ethernet MAC accesses the SRAM2 while the CPU accesses the SRAM1, concurrently.

The TCM SRAMs are dedicated to the Cortex ® -M7:

The backup RAM is mapped at the address 0x3880 0000 and is accessible by most of the system masters through D3 domain's AHB matrix. With a battery connected to the V BAT pin, the backup SRAM can be used to retain data during low-power mode (Standby and V BAT mode).

Error code correction (ECC)

SRAM data are protected by ECC:

The ECC mechanism is based on the SECDED algorithm. It supports single-error correction and double-error detection.

When an incomplete word is written to an internal SRAM and a reset occurs, the last incomplete word is not really written. This is due to the ECC behavior. To ensure that an incomplete word is written to SRAM, write an additional dummy incomplete word to the same RAM at a different address before issuing a reset.

2.5 Flash memory overview

The Flash memory interface manages CPU AXI accesses to the Flash memory. It implements the erase and program Flash memory operations and the read and write protection mechanisms.

The Flash memory is organized as follows:

Refer to Section 4: Embedded flash memory (FLASH) for more details.

2.6 Boot configuration

In the STM32H742, STM32H743/753 and STM32H750, two different boot areas can be selected through the BOOT pin and the boot base address programmed in the BOOT_ADD0 and BOOT_ADD1 option bytes as shown in the Table 9 .

Table 9. Boot modes

Boot mode selectionBoot area
BOOTBoot address option bytes
0BOOT_ADD0[15:0]Boot address defined by user option byte BOOT_ADD0[15:0]
ST programmed value:
Flash memory at 0x0800 0000
1BOOT_ADD1[15:0]Boot address defined by user option byte BOOT_ADD1[15:0]
ST programmed value:
System memory in bank 1 at 0x1FF0 0000

The values on the BOOT pin are latched on the 4th rising edge of SYSCLK after reset release. It is up to the user to set the BOOT pin after reset.

The BOOT pin is also re-sampled when the device exits the Standby mode. Consequently, they must be kept in the required Boot mode configuration when the device is in the Standby mode.

After startup delay, the selection of the boot area is done before releasing the processor reset.

The BOOT_ADD0 and BOOT_ADD1 address option bytes allows to program any boot memory address from 0x0000 0000 to 0x3FFF 0000 which includes:

The BOOT_ADD0 / BOOT_ADD1 option bytes can be modified after reset in order to boot from any other boot address after next reset.

If the programmed boot memory address is out of the memory mapped area or a reserved area, the default boot fetch address is programmed as follows:

When the Flash level 2 protection is enabled, only boot from Flash memory is available. If the boot address already programmed in the BOOT_ADD0 / BOOT_ADD1 option bytes is out of the memory range or belongs to the RAM address range, the default fetch will be forced from Flash memory at address 0x0800 0000 .

Embedded bootloader

The embedded bootloader code is located in system memory. It is programmed by ST during production. It is used to reprogram the Flash memory using one of the following serial interfaces:

For additional information, refer to the application note AN2606.