cancel
Showing results for 
Search instead for 
Did you mean: 

Framebuffer in PSRAM on STM32N6570-DK

ERROR
Associate II

Hi,

I have created a simple GUI using TouchGFX Designer for the STM32N6570-DK, generated the code, built it, and ran it. Everything works fine.

Then I noticed that the TouchGFX_Framebuffer is located in internal SRAM. However, I plan to use that SRAM for the NPU and other purposes. So, I moved the framebuffer to PSRAM, and now the GUI becomes partially corrupted after pressing buttons or sliding.

It seems that additional adjustments are needed when using the framebuffer in PSRAM. Could that be the case?

Below is a snippet from *.ld:

  BufferSection (NOLOAD) :
  {
    *(TouchGFX_Framebuffer TouchGFX_Framebuffer.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x8);
  } >PSRAM /*FB_RAM*/
  
  UncachedSection (NOLOAD) :
  {
    *(Nemagfx_Memory_Pool_Buffer Nemagfx_Memory_Pool_Buffer.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x8);

    *(Nemagfx_Stencil_Buffer Nemagfx_Stencil_Buffer.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x8);
  } >PSRAM /*CMDLIST_RAM*/

 

1 REPLY 1
ERROR
Associate II

Looks like, other two buffers' location is a root cause.

  UncachedSection (NOLOAD) :
  {
    *(Nemagfx_Memory_Pool_Buffer Nemagfx_Memory_Pool_Buffer.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x8);

    *(Nemagfx_Stencil_Buffer Nemagfx_Stencil_Buffer.*)
    *(.gnu.linkonce.r.*)
    . = ALIGN(0x8);
  } >PSRAM /*CMDLIST_RAM*/
  

,