2019-03-08 04:25 AM
Hello,
My print size information from gcc shows:
text data bss dec hex filename
196078 212 59184 255474 3e5f2 04-03.elf
The RAM usage is data + bss, in my case is: 59396 kB
But this value I think it is not true, because I'm using a display 480x272, so a single framebuffer uses more than this! (480*272*16 bits ~= 260kB)
I'm using external SDRAM, does gcc consider external sdram to print this value?
Another point, about the memory speed, I'm choosing the proper external RAM for my project and I see two options:
1- 64Mb (2M x 32) - In this case the access is through 32 bits and 143MHz
2- 64Mb (4M x 16) - 16 bits and 166MHz
Could this difference affect the display/graphics performance? A memory with 16 bits interface is a little cheaper, but I don't know if it worth it.
Regards.
Thanks.
2019-03-08 05:08 AM
Not clear what STM32 you are using but I would expect it to clock at 84, 90 or 108 MHz.
The linker will not track the use of pointers or constants defining addresses.
2019-03-08 05:11 AM
For that size of display you'd likely want to use 32-bit wide memory to allow for bandwidth for both you and the display to access the frame buffer. Do the math..
2019-03-08 05:29 AM
I'm using STM32F746 and 108MHz for SDRAM clock.
My question is because in STM32F746DISCO the external RAM is used in 16 bits and the performance is ok. I'm using TouchGFX...
2019-03-08 05:58 AM
I'd do the computations and benchmarking first, it is not a choice you can fix in software later.
2019-03-15 05:48 AM
Thanks for the answers,
How can I determine the RAM usage in my project?
I'm using Atollic, TouchGFX and a external RAM.