AnsweredAssumed Answered

STM32F429I-DISCO SDRAM Initialization in system_stm32f4xx.c

Question asked by Clive One on Oct 17, 2013
Latest reply on Jan 11, 2014 by Clive One
The code shipped in the FW library either says it's not implemented, or is in fact the code for the STM324x9I-EVAL with or without the name changed. The code was for Bank1 SDRAM at 0xC0000000, it will not work with the different part at Bank2 0xD0000000 on the STM32F429I-DISCO board!!

#ifdef DATA_IN_ExtSDRAM
/**
  * @brief  Setup the external memory controller.
  *         Called in startup_stm32f429_439xx.s before jump to main.
  *         This function configures the external SDRAM mounted on STM32F429I-DISCO board
  *         This SDRAM will be used as program data memory (including heap and stack).
  * @param  None
  * @retval None
  */
void SystemInit_ExtMemCtl(void)
{
  /* This function will be implemented in next versions */
}
#endif /* DATA_IN_ExtSDRAM */

This annoyed me, so I fixed it. This now allows SystemInit() to bring up the SDRAM, and for it to be used by the C Run-time library code. If this helps you, please send your appreciation.

Updated/Fixed version of system_stm32f4xx.c

Outcomes