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.

MCU-PLUS-SDK-AM243X: am243x: do we really have 2 mbytes of SRAM ?

Part Number: MCU-PLUS-SDK-AM243X

Tool/software:

Hi

I'm looking into https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_01_00_32/exports/docs/api_guide_am243x/MEMORY_MAP.html

This product is advertized with 2 mBytes of SRAM. 

I see a lot of reserved blocks that reduce effective the size of SRAM and break our assumptions regarding product usability.

I need practical recomendation how to use entire area - where should I place data/code sections?

what should we not touch?

Assumptions:

0. We use only R5 cores with FreeRTOS.

1. Core 0 runs from SRAM and DDR. We need ALL SRAM.

2. Core 1 runs from TCM + DDR

3. Other cores from DDR.

4. No secure boot/whatever at this time.

Thanks

Rasty

  • Hi Rasty,

    Thanks for your query.

    The upper 512KB of the SRAM is reserved for SBL and should not be used by the application. 

    The middle 1.25 MB of the memory can be used by the application code. But care should be taken when a multicore image is created. Memory from one core should not overlap with the memory of other cores.

    Also in the last 128 KB of memory used by DMSC during run time, initial 80 KB gets free if a security handover happens. Security handover happens in SBL just before the reset  release of the SBL core (ie R5 Cluster 0, Core 0 and 1). So the applications will be able to use the initial 80 KB of the last 128 KB of memory in SRAM once SBL completes execution. It would be advisable to attempt the usage of this region from R5-0 or R5-1 inorder to avoid race around conditions or user can implement handshakes to ensure race conditons are managed. The last 48 KB still will be used by DMSC.

    Regards,

    Tushar

  • Hi

    https://www.ti.com/lit/ds/symlink/am2432.pdf 

    You cannot tell me that TI takes more than 25% for internal pursposes.

    We need whole SRAM.

    Need practical recomendations.

    Thanks

    RAsty

  • Hi Rasty,

    You can not use the upper 512KB space of the memory for section(i.e. .text, .data, .rodata) which are loaded via SBL. You can use this memory for the non loadable section of the application which exist at runtime, once the SBL has handed the control over to R5F. 

    You will be able to use the initial 80KB of the last 128KB memory reserved for DMSC once the SBL execution completes. Also the last ~48KB region is still be used by DMSC at runtime.

    Regards,

    Tushar