cancel
Showing results for 
Search instead for 
Did you mean: 

Memory definition in linker script for STM32MP257

Amit_RS
Associate III

Dear All,
I am currently working with STM32MP257 however it gives me lot of confusions. Looking into the Linker script the memory has been defined as follows:

MEMORY

{

FLASH (xrw) : ORIGIN = 0x80100600, LENGTH = 8387072

NS_VECTOR_TBL (xrw) : ORIGIN = 0x80100000, LENGTH = 1536

VIRTIO_SHMEM (xrw) : ORIGIN = 0x812f8000, LENGTH = 32K

IPC_SHMEM_1 (xrw) : ORIGIN = 0x81200000, LENGTH = 992K

RAM (xrw) : ORIGIN = 0x80a00000, LENGTH = 1024K

}

Where I fail to understand why the RAM has been divided as I had already set them in RISAB. My understanding or assumption was the memory should have been divided into SRAMs, RETRAM, SYSRAM etc as per RISAB configuration.
I don't if I have to add them manually again in linker script.

Moreover, the device tree (.dtsi) for OpenSTlinux also does not mention any memory divisions as in examples. The file: stm32mp257f-hrt-mc-stm32mp2-mx-resmem.dtsi only has the following code:

// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)

/*

* Copyright (C) 2026, STMicroelectronics - All Rights Reserved

* Author: STM32CubeMX code generation for STMicroelectronics.

*/

 

/* For more information on Device Tree configuration, please refer to

* https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration

*/

 

/ {

reserved-memory {

#address-cells = <2>;

#size-cells = <2>;

ranges;

 

/* USER CODE BEGIN reserved-memory */

/*Applicative memory mapping can be defined in this section deduced from OP-TEE one*/

/* USER CODE END reserved-memory */

};

};


There is a huge lack of information on what parts of the code need to be manually configured and which are configured through CubeMX.

Thank you.

With regards
Amit




0 REPLIES 0