2020-12-29 06:35 PM
2020-12-31 01:28 AM
The only thing I do for framebuffer that I set the address by setFrameBufferStartAddresses() in TouchGFXGeneratedHAL.cpp.
I think this is for the touchgfx framework. So , nothing to do.
2020-12-31 01:46 AM
What you have in LD linker files? And how IDE ?
2020-12-31 04:31 AM
When you use CubeIDE then you have file
STM32XXXXXXX_FLASH.ld and for example
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
_Min_Heap_Size = 0x200 ; /* required amount of heap */
_Min_Stack_Size = 0x400 ; /* required amount of stack */
/* Memories definition */
MEMORY
{
CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K
}
example from F469
your numbers and memory may differ, but when you plan framebuffer in RAM you need change this file or use normal aloccation as for example
uint8_t FB[320*360*3];
better but only in KEIL
__attribute__((at(address))) variable
in gcc section and modified LD file.
2020-12-31 04:42 AM
yes, i configured this. And, My IDE is STM32CUBEIDE
2020-12-31 05:05 AM
Hmm when realy this file is used for compile and flash your project, then i dont understand .
try change framebuffer to 0x20048000
RAM size to LENGTH = 288K
and dont place code as image here pls.
2020-12-31 05:31 AM
Sorry for the image.
Thank for your suggestions, and i will try this, but why? Seems to be getting smaller.
2020-12-31 06:08 AM
Only RAM is smaller, because when framebuffer start on 0x20048000
RAM must end here.
2020-12-31 07:57 AM
Fine, I get it. Thanks a lot!
By the way, happy new year!