2024-06-27 02:47 AM - last edited on 2024-06-27 03:20 AM by SofLit
hello, I have a display configured for FMC but I would like to add a framebuffer to the RAM memory, unfortunately the MCU memory is not enough (the display resolution is 480x800) so I have to add external RAM. My question is how to do it since I am already using FMC for the display. Can I connect RAM to the same pins?
Solved! Go to Solution.
2024-06-27 03:14 AM - edited 2024-06-27 03:23 AM
Hello,
You will be using the same Address/Data/ NOE/NWE pins and you need to drive your SRAM with another chip enable. The chip enable FMC_NE is driven according to the access address :
BANK1 (256MB) needs to be used which in turn split into 4x64MB. Each access to a block of 64MB will activate the corresponding FMC_NEx pin FMC_NE1 to FMC_NE4.
Hope I answered your question.
2024-06-27 03:14 AM - edited 2024-06-27 03:23 AM
Hello,
You will be using the same Address/Data/ NOE/NWE pins and you need to drive your SRAM with another chip enable. The chip enable FMC_NE is driven according to the access address :
BANK1 (256MB) needs to be used which in turn split into 4x64MB. Each access to a block of 64MB will activate the corresponding FMC_NEx pin FMC_NE1 to FMC_NE4.
Hope I answered your question.
2024-06-27 02:14 PM
Thank you, so FMC_NEX works in parallel with another enable? Do I have to stop refreshing the display when I want to modify something in the buffer? Additionally, will this solution work OK and does double buffer make sense in this case?
2024-06-28 07:50 AM
Thank you, so FMC_NEX works in parallel with another enable?
Each enable is activated at a time. FMC_NEx is activated automatically by the FMC controller according to the description I provided previously.
As example, you can refer to the STM3240G-EVAL board schematics which is using LCD and SRAM that both are connected on FMC interface:
Do I have to stop refreshing the display when I want to modify something in the buffer?
You are using LCD over FMC, and normally, these kind of display devices have their own controllers with an internal RAM that holds the display buffer. I don't think you need to stop refreshing the display.
Additionally, will this solution work OK and does double buffer make sense in this case?
I think it depends on your application.