cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP157 - memory for the M4 core

Michael Schmid
Associate III

Dear experts.

we plan to use a STM32MP157, where the A7 core should have 512MB DDR RAM, and theM4 core 16 MB. What options exists, to give the M4 core that 16 MB of RAM?

  • From the DS, i understand that the DDR RAM of the A7 is not accessible for the M4. Is that right?
  • external QSPI PSRAM, would be low cost and low pin count. From the DS, the QSPI interface is only for Flash, not for PSRAM?
  • external SRAM/SDRAM via the FMC? Could the M4 core occupy the FMC, while the A7 core using DDR?
  • external SPI RAM, would be the slowest variant, but should be always possible.

Is there an application note, showing how more then a MB RAM is added to the M4 core in an STM32MP15x?

Best regards,

Michael

1 ACCEPTED SOLUTION

Accepted Solutions
PatrickF
ST Employee

Hi @Michael Schmid​ 

please have a look to https://wiki.st.com/stm32mpu/wiki/Exchanging_buffers_with_the_coprocessor

Note that this stand only for Data. Code should reside in SRAMs/RETRAM as Cortex-M4 performance execution penalty for running code from external memory will be extremely high (has there is no caches and bus paths are not optimized for that).

Regards.

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
KnarfB
Principal III

> From the DS, i understand that the DDR RAM of the A7 is not accessible for the M4. Is that right?

No, you can assign some DDR RAM space for M4 code and data. This is actually the standard way, the M4 is considered a Linux coprocessor that is booted from Linux (or the bootloader). See https://wiki.st.com/stm32mpu/wiki/Arm_Cortex-M4 and or the STM32MP157 DK2 board schematics

hth

KnarfB

PatrickF
ST Employee

Hi @Michael Schmid​ 

please have a look to https://wiki.st.com/stm32mpu/wiki/Exchanging_buffers_with_the_coprocessor

Note that this stand only for Data. Code should reside in SRAMs/RETRAM as Cortex-M4 performance execution penalty for running code from external memory will be extremely high (has there is no caches and bus paths are not optimized for that).

Regards.

In order to give better visibility on the answered topics, please click on 'Select as Best' on the reply which solved your issue or answered your question. See also 'Best Answers'

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Alex - APMemory
Senior II

Hi,

just one comment about QSPI / SPI, even it might be limited BW.

QSPI Memory controller is designed for NOR as you mentionned. QSPI PSRAM could be used, but controller doesn't support Memory mapped write. APS1604M..., APS6404L..., APS12804O... IoT RAM are example of SPI & QSPI PSRAM (in SOP8/USON8/WLCSP).

Alex