how to use external SDRAM of stm32f746 discovery board to run lager memory codes of emwin

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • how to use external SDRAM of stm32f746 discovery board to run lager memory codes of emwin

    Hi All,
    I am new to emwin and stm32f746 MCU .I want to develop automotive dashboard GUI application on stm32f746 discovery board like example of segger Memdev_BitmapSpeedometer.c , but when i try to run this example got an error message as "RAM overflowed", beacuse internal RAM is of 320kb .
    In GUIConf.c

    GUI_NUMBYTES (1024) * 1300

    this example needs 1300 kb memory.
    Please help me to run this example , how can i increase memory allocate to GUI ?
    Thanks
    Rajni
  • Hi,

    At first you have to initialize the external RAM, there is a sample intialization comming from STM which can be used.

    Now you have to tell the linker to place the GUI memory at an address in this SDRAM (on the STM32F46 Discovery it starts at 0xC0000000 I guess).

    Depending on your toolchain the declaration of the GUI memory (inside GUIConf.c) might look like this (.GUI_RAM is a label placed into the SDRAM):

    static U32 aMemory[GUI_NUMBYTES / 4] __attribute__((at(0xC0000000)));

    But be aware that you don't come in conflict with the framebuffer which is most likely also placed into the external SDRAM.

    I'm not entirely sure, but I think the demo application from STM already using the external SDRAM.

    Regards
    Sven
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.