Hi,
I am using GUI Guilder to create GUI for my controller and found that it takes lot of flash memory.
Flash: 3,159,404 bytes
SDRAM: 828,538 bytes
There is only 4M QSPI flash. It is possible to put the big data into SDRAM because SDRAM has lot of room?
Is there any way to reduce the memory size?
Thanks,
Christie
Hi @a8Chcx,
You can definitely optimize memory use by placing the frame buffer in SRAM, for example. The changes required to do this are described on the following documentation, which algo goes into how to optimize the application in general for better performance: Performance optimization | GUIGUIDERUG: GUI Guider User Guide | NXP Semiconductors.
Moving the frame buffer should be enough, but if it isn't, you can take a look into the resources shared on this community post about moving code from flash to SRAM: Solved: How to move code from flash to sram - NXP Community
BR,
Edwin.
Hi EdwinHz,
I tried to move all files defined as const to SDRAM, it works fine. But, the flash memory is almost the same. I think that the constant array data still needs flash memory and it will copy all constant array data to SDRAM at startup, right? It is possible to define the constant array data in SDRAM without copying?
Thanks,
Christie
Hi @a8Chcx,
You are correct, the flash contents are being copied to RAM. In this case, it seems that the requirement for your application is using another external memory device, like a QSPI flash or an SD card.
BR,
Edwin.
Hi EdwinHz,
I tried the sample project of emwin gui demo and found:
1) It only uses 169,388 for flash
2) It uses 4,269,376 fro SDRAM
Why? Do you think that the wigets are built as library and saved in SDRAM? Can we do the same on gui guider?
Thanks,
Christie