Skip to main content
radioman
Associate II
March 30, 2022
Question

I'm using an STM32H750B-DK for my project with 800x480 LCD using ext. SDRAM for framebuffer. I was only able to get the STM32H750VTB6 device for final production. When I build that device I get framebuffer to big. How do add an ext. SDRAM to the VTB6

  • March 30, 2022
  • 6 replies
  • 1533 views

In the cubeMX FMC configuration I don't see SDRAM listed.

This topic has been closed for replies.

6 replies

TDK
Super User
March 30, 2022

The STM32H750VBT6 is an LQFP100 package. The LQFP100 package doesn't have the necessary pins broken out to support SDRAM. For example, FMC_A0 is missing.

Therefore, you can't use SDRAM on that chip which is why CubeMX doesn't list it as an option.

"If you feel a post has answered your question, please click ""Accept as Solution""."
radioman
radiomanAuthor
Associate II
March 30, 2022

Thank you. I was afraid of that. This chip shortage is killing me.

I'll have to try the F series if I can get any.

radioman
radiomanAuthor
Associate II
March 30, 2022

Can external FLASH be used as a framebuffer? the VBT6 does support that.

TDK
Super User
March 30, 2022
Flash is slow, probably not. But there are other RAM options via the FMC that you can use.
"If you feel a post has answered your question, please click ""Accept as Solution""."
radioman
radiomanAuthor
Associate II
March 30, 2022

Thanks. I'll look into that.

radioman
radiomanAuthor
Associate II
April 9, 2022

I have moved my project to the Nucleo-H7A3ZI-Q dev. board and have added the APS1604M-3SQR PSRAM chip to use as a framebuffer. I have followed the instructions in AN5050 for the OCTOSPI settings using QUADSPI. I did not see any mention of configuring the FMC so that is disabled. I added the test functions listed in AN5050 to write and read to RAM. I first run EnterQuadMode() then EnableMemMappedQuadMode() and then the test loop but it is not storing the values. If I examine the memory location 0x90000000 when the program is paused it shows all 8s and I can't manually write a value to it. I have the clock to the OCTOSPI set to 200 MHz and the clock prescaller value in the OCTOSPI parameter settings set to 3. I also added the line "PSRAM  (xrw) : ORIGIN = 0x90000000, LENGTH = 2M" to the linked script. The RAM chip is soldered to a small PCB with 3" leads to the dev board and a bypass cap at the chip. Is there anything else I should be checking?

radioman
radiomanAuthor
Associate II
April 9, 2022

I did a reset to the clock configuration and set the clock for the the OCTOSPI back to 200 MHz and now I can write manually but the test program now is showing random values.