2024-07-11 12:25 AM - last edited on 2024-07-11 12:29 AM by Peter BENSCH
Hello, I'm developing using stm32f476-DISCO.
Until now, we have made development easy by using external RAM.
The current operation has received a request to create a program using only internal RAM without external RAM.
https://support.touchgfx.com/docs/development/board-bring-up/how-to/03-display-internal
I tried to make it by reading the above materials and forums, but I don't understand.
https://www.youtube.com/watch?v=H7nBx23a8x4
https://www.youtube.com/watch?v=UobGH7_TPD8&t=3s
I have a demonstration video on YouTube above, but I can't find the source code.
I'm a beginner and I'd greatly appreciate it if you could organize CubeMX to work without external RAM and guide me on how to touch gfx.
Solved! Go to Solution.
2024-08-29 07:44 AM
Hello @JIN3473 ,
I think you mean STM32F746-DISCO instead? (we do not have a product called STM32F476-DISCO)
The STM32F746-DISCO has 1 MB internal flash and 340 kB internal RAM. So it could be limited for an application especially if you have a lot of assets and if you're using more than 1 framebuffer (the TBS we offer in TouchGFX designer is using double framebuffer strategy).
If you want to use the internal memory to store your framebuffers, you'll need to change your linker script.
BufferSection (NOLOAD) :
{
*(TouchGFX_Framebuffer TouchGFX_Framebuffer.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >RAM
Same for the fonts, they have to be in internal memory.
FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH
For the assets, please check in your TouchGFX project that they're in internal flash.
2024-08-29 07:44 AM
Hello @JIN3473 ,
I think you mean STM32F746-DISCO instead? (we do not have a product called STM32F476-DISCO)
The STM32F746-DISCO has 1 MB internal flash and 340 kB internal RAM. So it could be limited for an application especially if you have a lot of assets and if you're using more than 1 framebuffer (the TBS we offer in TouchGFX designer is using double framebuffer strategy).
If you want to use the internal memory to store your framebuffers, you'll need to change your linker script.
BufferSection (NOLOAD) :
{
*(TouchGFX_Framebuffer TouchGFX_Framebuffer.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >RAM
Same for the fonts, they have to be in internal memory.
FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH
For the assets, please check in your TouchGFX project that they're in internal flash.