cancel
Showing results for 
Search instead for 
Did you mean: 

SRAM Usage and Address Ranges on STM32MP25x in OpenSTLinux

drodr
Associate

I'm using the Yocto-based OpenSTLinux embedded software on a STM32MP25x and I don't understand which portion of the SRAM1/2 is free to use at runtime.

drodr_0-1740134540566.png

Aside from the first 4kBytes of the SRAM1 reserved for OTP shadow, can the rest be fully used, or is it also reserved ?

Additionally, in chapter 2.4.2 of the reference manual (RM0457), it states that SRAM1/2 can be accessed through the following address ranges [0x0A04 0000, 0x0A08 0000[, [0x0E04 0000, 0x0E08 0000[, [0x2004 0000, 0x2008 0000[ and [0x3004 0000, 0x3008 0000[. Why are there four physical addresses for SRAM ? Should Cortex-A35 and Cortex-M33 use specific regions to communicate with each other ?

 

 

1 REPLY 1
PatrickF
ST Employee

Hi @drodr 

regarding the 4 possible address ranges to access same memories, this is due to the Cortex-M33 address space split between Code and SRAM and secure/non-secure split done with IDAU.
This allows full flexibility for your secure/non-secure code+data applications in a single set of contiguous memories (need to play with different load and execution address in linker).


See PM0264 and RM0457

PatrickF_0-1740158230074.png

PatrickF_1-1740158260480.png

 

Regards

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.