cancel
Showing results for 
Search instead for 
Did you mean: 

IF ANY NORMAL STM32F SERIES controller DOES NOT HAVE DEDICATED FSMC OR FMC PORT THEN HOW TO INTERFACE EXTERNAL SRAM AND FLASH WITH THAT CONTROLLER?

NGond
Associate II
 
2 REPLIES 2

You can always connect the memories to any GPIO pins; then set the pins connected to address bus, set appropriate direction of the data lines, and then exercise the control lines appropriately to the given operation, all of this "manually" in the program,

JW

Danish1
Lead II

The way you frame the question implies that everyone needs access to external SRAM and/or FLASH.

Many applications do not need such access but would benefit from a smaller package for their microcontroller*. So engineers designing circuits opt for a smaller part with fewer pins and, of necessity, no spare pins for FMC / FSMC.

Sometimes people stick RAM / EEPROM and/or FLASH onto SPI or QSPI ports, which use many fewer pins than FSMC / FMC. It is a trade-off, because serial ports need more cycles to transfer data. And I don't think the CPU can execute from memory interfaced over SPI (I think it can with QSPI but I've never tried it).

Hope this helps,

Danish

* I think one fundamental distinction between a microprocessor and a microcontroller is that the microcontroller has on-board RAM and ROM so it often doesn't need any external memory