This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2432: MSRAM Memory Map for Application

Part Number: AM2432

Tool/software:

Hi,

We’ve received an inquiry about memory map of MSRAM on AM243x from the customer.

The MCU+ SDK document describes as follows file:///C:/ti/ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/docs/api_guide_am243x/MEMORY_MAP.html

--------------------- 

It can be seen that the initial 512 KB of MSRAM is reserved for SBL usage. 

While this memory is reserved, if the application image has a NO-LOAD section, it should still be okay to put that in the reserved memory. But care should be taken which core the application is running in. If the application is running in a core other than the core SBL is running in (usually the R5F0-0 core), the application may start before the SBL comes to a halt and cause a race condition on the memory access and might crash SBL. This can be problematic in multi-core image scenarios. 

------------------

When the application is run in only on the same core (R5F0-0) as the core SBL is running in, is it possible to allocate the memory 0x70000000 – 0x7007FFFF for the application ?

  

Thanks and regards,

Hideaki

  • Hello Hideaki,

    Yes, the last thing that the SBL code should do on the R5F0_0 core is initialize the runtime code for the R5F0_0 core. At that point in time, the SBL is no longer using the SRAM regions, and those regions can be used by the runtime code.

    As discussed in the documentation you linked, other cores can also use that region of SRAM. However, you would need to make sure that there were no race conditions where they might overwrite the SBL code's data. For example, you would not want to put pre-initialized code from R5F0_1 there, since the SBL would overwrite its own data when initializing core R5F0_1. That code would also want to have some check to make sure that the SBL had completed before it started writing into the SRAM region.

    Regards,

    Nick