2026-04-13 6:39 AM
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
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.