Skip to main content
Associate
June 27, 2024
Solved

Add External SRAM to STM32H743 without FMC

  • June 27, 2024
  • 3 replies
  • 3951 views

Hello,

I am trying to find available solutions for below requirement.
I am using STM32H743 MCU in a design and I want to add external SRAM of 128Mbytes to the design.
I understand can do this with FMC, but the problem is available pins for the FMC are conflicting with the requirements of the other peripherals.
I read the documents and found that there is a possibility of extending the RAM with Quad-SPI, but it is not clear to me when it says, "Can't be written to the memory when it is configured memory-mapped code execution mode". 

I am open to study available options, it would be appreciated, if anyone can suggest any options, share their experience with a similar situation. 

Thanks

Best answer by KDJEM.1

Hello @Blk81 and welcome to the Community :),

 

For the QUADSPI interface, in memory-mapped mode, the external flash memory is seen as an internal memory but with some latency during accesses. Only read operations are allowed to the external flash memory in this mode. as mentioned in RM0433 section 23.3.12 QUADSPI use.

The indirect mode mode support read and write operations.

For more information I advise you to take a look at Quad-SPI interface on STM32 microcontrollers and microprocessors - Application note 

KDJEM1_0-1719492186824.png

 

KDJEM1_1-1719492186825.png

For the QUADSPI interface, the write operation is not supported in memory mapped mode.

For the OCTOSPI interface the write operation is supported in memory mapped mode as mentioned in Getting started with Octo-SPI, Hexadeca-SPI, and XSPI Interface on STM32 MCUs - Application note

KDJEM1_2-1719492186826.png

The QSPI examples can help you to write and read data from external memory.

Thank you.

Kaouthar

3 replies

mƎALLEm
ST Technical Moderator
June 27, 2024

Hello and welcome the community,

Could you please indicate where you did find this statement?:

"Can't be written to the memory when it is configured memory-mapped code execution mode"

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
KDJEM.1
KDJEM.1Best answer
ST Technical Moderator
June 27, 2024

Hello @Blk81 and welcome to the Community :),

 

For the QUADSPI interface, in memory-mapped mode, the external flash memory is seen as an internal memory but with some latency during accesses. Only read operations are allowed to the external flash memory in this mode. as mentioned in RM0433 section 23.3.12 QUADSPI use.

The indirect mode mode support read and write operations.

For more information I advise you to take a look at Quad-SPI interface on STM32 microcontrollers and microprocessors - Application note 

KDJEM1_0-1719492186824.png

 

KDJEM1_1-1719492186825.png

For the QUADSPI interface, the write operation is not supported in memory mapped mode.

For the OCTOSPI interface the write operation is supported in memory mapped mode as mentioned in Getting started with Octo-SPI, Hexadeca-SPI, and XSPI Interface on STM32 MCUs - Application note

KDJEM1_2-1719492186826.png

The QSPI examples can help you to write and read data from external memory.

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.
Blk81Author
Associate
June 28, 2024

Thanks for the information @KDJEM.1 , I really appreciate it.

KDJEM.1
ST Technical Moderator
June 28, 2024

Hello @Blk81 ,

 

Thank you for your contribution in STCommunity 

Has your request been answered?

If you need further clarification, please do not hesitate to share it :).

If you request is answered, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thank you.

Kaouthar

 

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.
MHoll.2
Senior III
June 27, 2024

Hi,

As described very well by Alex from APMemory: 

https://community.st.com/t5/stm32-mcus-products/where-is-it-documented-that-stm32h7-can-only-read-memory-mapped/m-p/598460/highlight/true#M225010

There are some limitations on using QSPI /OSPI RAM chips with the STM32H7xx series, but when You use the right device it is working.

Martin

Tesla DeLorean
Guru
June 27, 2024

Pretty sure the H743 isn't supporting any memory mapped writes on Hyper RAM, etc.

Minimal 16-bit wide SDRAM probably going to soak up 30 or so pins.

If you want 128MB of RAM you're going to need to re-evaluate your part choice and foot-print to accommodate the memory and the pin escape for other peripherals.

The FMC having the least amount of choices for pin remapping.

 

Probably going to need to look at H72x/H73x or H7Ax/H7Bx devices with OCTOSPI

Perhaps PSRAM or whatever we're calling the multiplex RAM option. Although the capacity suggests SDRAM as the most viable.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
MHoll.2
Senior III
June 27, 2024

Yes Tesla DeLorean is right, I had not realized that the STM32H74x familiy has only the "old" QSPI controller.

Sorry for that.

Martin