2018-06-12 05:47 AM
How to get 2 Mbytes RAM with STM32F407/427? I have Dev. Kit STM3240G-EVAL wich have STM32F407IGH MCU and IS61WV102416BLL-10MLI 16 Mbit (1Mx16) SRAM memory on the board. One example which provide ST for the dev. borad I have 1 Mbytes external SRAM (linker regions for RAM is Start: 0x64000000 End: 0x640FFFFF). How can I get 2 Mbytes RAM with the memory? Or it is not possible with the memory as it have 1Mx16 configuration ? Thanks.
#fmc #sram2018-06-12 06:01 AM
The function BSP_SRAM_Init shall give you the whole 2MB space. You can try to modify the linker script to address whole 0x200000 space on top of
0x64000000 SRAM start address.
Give it a try, don't take all examples as granted bug-free :)
2018-06-12 06:22 AM
If you configure the memory/pins properly, and watch the jumpers (trace), you should be able access all 2MB
0x64000000- 0x641FFFFF
The address bits A0-A20 on the device represent A1-A21 in STM32 address space, and the byte lanes are managed on the D0-D7,D8-D15 level along with BLE,BHE
IS61WV102416BLL-10MLI 1Mx16 (2MB)
CY7C1071DV33-12BAXI 2Mx16 (4MB)
These look to define the memory at 2MB in size
STM32Cube_FW_F4_V1.21.0\Drivers\BSP\STM324xG_EVAL\stm324xg_eval_sram.c
STM32Cube_FW_F4_V1.21.0\Drivers\BSP\STM324xG_EVAL\stm324xg_eval_sram.h
2018-06-12 08:25 AM
The BSP examples look to be Ok, the bus wiring uses a NC pin on the 2MB chip, and there is an alternate 4MB chip option.
The high order address bits are used by the TRACE functionality, so if using a trace pod you need to use less external memory (512KB?)
2018-06-12 08:32 AM
After changing linker it working, thanks both for help.