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.

AM625: Clarification Regarding SRAM Usage and Capacity on BeaglePlay

Part Number: AM625

Dear Team,

I need some clarification regarding the SRAM available on the BeaglePlay board.

The BeaglePlay provides a total on-chip SRAM capacity of 816 KB. However, my project requires at least 1 MB of SRAM. To meet this requirement, I have interfaced an external SRAM device through the SPI interface.

My next objective is to make this external SRAM appear as part of the system's main memory. Is there any method or mechanism available to integrate the external SPI SRAM into the main memory space so that it can be accessed similarly to the onboard SRAM?

I also have a question regarding SRAM capacity verification. I used the following command:

root@beagleplay-ti:/# cat /proc/iomem | grep -i sram

The output is:

70000000-7000ffff : 70000000.sram sram@70000000

Based on my understanding, this command displays only the SRAM region that is currently assigned to and managed by the Linux kernel. I would like to identify and verify the remaining SRAM regions so that I can account for the complete on-chip SRAM capacity of 816 KB.

Could you please guide me on:

Whether external SPI SRAM can be integrated into the system memory space and used as part of the main memory.

How to view or verify all SRAM regions available on the BeaglePlay, including the portions not currently listed by the above command.

Thanks & Regards

Aparna C Nair

  • Hi Aparna,

    Whether external SPI SRAM can be integrated into the system memory space and used as part of the main memory.

    No, the AM625 doesn't have a memory controller path that lets an SPI-attached device appear as byte-addressable system RAM. SPI is a serial, transaction-based bus (send address/command, clock out/in data) — it has no concept of a memory-mapped address decode the way a parallel SRAM/NOR interface or DDR does.

    How to view or verify all SRAM regions available on the BeaglePlay, including the portions not currently listed by the above command.

    • The 64 KB region at 0x70000000 you see is the OCSRAM (On-Chip SRAM) used by Linux for things like remoteproc handoff/scratch, IPC, or as a resource for firmware loading — this is why it shows up in /proc/iomem.
    • The remaining SRAM is largely consumed by other cores/domains that Linux doesn't own or map at all, so it will never appear in /proc/iomem:
      • M4F (Cortex-M4) SRAM used by the MCU/Wakeup or general M4 remote core firmware.
      • DMSC/DM (Device Manager) SRAM, used internally by TI's System Firmware (SYSFW/TIFS) — not visible or usable by the A53 Linux kernel at all.
      • Possibly R5F-related SRAM regions used by other remote cores (depending on which cores are enabled in your SoC configuration).

    Regards,
    Vinu