cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H757 Uses FMC SDRam Bank 1 and FMC SRam 1 at the same time.

Skane
Associate III

Hi,

while I'm configuring the FMC interface i come cross this memory map and i couldn't understand it. Does the FMC SDRAM Bank 1 have 4 possible regions? if yes, does SDRAM Bank 2 have the same option.
what about the External Memory region, are those for SRAMs and External Device for SDRAM?
those kinds of questions come to my mind, if someone could help me with.

Skane_0-1753113411241.png

most important question, I want to use SDRAM bank 1 (SDCKE 0 will be enabled) and SRAM1 (NE1 will be enabled), is this possible?
i believe i have read this somewhere that it could be done, but not sure, also, is there some sort of limitation of both can be enabled together or i should use SDRAM bank 2 and one of the SRam banks and that will be more reliable and efficient?

Thank you and best regards

1 ACCEPTED SOLUTION

Accepted Solutions
KDJEM.1
ST Employee

Hello @Skane ;

From the FMC point of view, the external memory is divided into fixed-size banks of 256 Mbytes each (see the below figure):
• Bank 1 is used to address up to 4 NOR flash memory or PSRAM devices. This bank is split into 4 NOR/PSRAM sub banks with 4 dedicated Chip Selects, as follows:
– Bank 1 - NOR/PSRAM 1
– Bank 1 - NOR/PSRAM 2
– Bank 1 - NOR/PSRAM 3
– Bank 1 - NOR/PSRAM 4
• Bank 2 is used for SDRAM device, SDRAM bank 1 or SDRAM bank 2 depending on BMAP bits configuration.
• Bank 3 is used to address NAND flash memory devices. The MPU memory attribute for this space must be reconfigured by software to Device.
• Bank 5 and 6 are used to address SDRAM devices (1 device per bank).
For each bank the type of memory to be used can be configured by the user application through the Configuration register.

KDJEM1_0-1753180523058.png

The FMC effectively will only look at one memory at a time, not both at the same time. 

Is my reply answer your request?

Thank you.

Kaouthar

 

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

2 REPLIES 2
KDJEM.1
ST Employee

Hello @Skane ;

From the FMC point of view, the external memory is divided into fixed-size banks of 256 Mbytes each (see the below figure):
• Bank 1 is used to address up to 4 NOR flash memory or PSRAM devices. This bank is split into 4 NOR/PSRAM sub banks with 4 dedicated Chip Selects, as follows:
– Bank 1 - NOR/PSRAM 1
– Bank 1 - NOR/PSRAM 2
– Bank 1 - NOR/PSRAM 3
– Bank 1 - NOR/PSRAM 4
• Bank 2 is used for SDRAM device, SDRAM bank 1 or SDRAM bank 2 depending on BMAP bits configuration.
• Bank 3 is used to address NAND flash memory devices. The MPU memory attribute for this space must be reconfigured by software to Device.
• Bank 5 and 6 are used to address SDRAM devices (1 device per bank).
For each bank the type of memory to be used can be configured by the user application through the Configuration register.

KDJEM1_0-1753180523058.png

The FMC effectively will only look at one memory at a time, not both at the same time. 

Is my reply answer your request?

Thank you.

Kaouthar

 

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.

Hi @KDJEM.1 ,
Thank you for the replay.

I do understand the memory mapping, but what confused me is the table itself, for example, bank 5 is for SDRAM_bank 1 and could be also for Nor flash etc, Bank 1 also for Nor flash and other but also can be for SDRAM_bank 1, i didn't understand which bank for which memory type, i though SDRAM and SRAM will use the same bank number which is bank 1 or bank 5, until i have read that memory region can be remapped, i still don't understand the reason why, as far i as i get it, is to facilitate memory read/write , in case of using more than one memory of the same type, by make same memory type close to each other for coherence or consistency, easy to fetch and store i think.
since i don't have this situation, i will make things easier for me, so it will be just like you said, each memory type has its region, and the region can be remapped through something called FMC bank mapping or something like this (2 bits).

Thank you for your help.
Best Regards,