Stemwin GUI not working for external SDRAM
I have linked STemWin library. My project uses external SDRAM
When I display some progressbar or treeview or graph using internal RAM, value of progress is displayed correctlly (ex. 50%). Also treeview and graph is displayed correctly . When I am switching buffer 'aMemory' to extrernal SDRAM ( U32 aMemory[GUI_NUMBYTES / 4] __attribute__((section('.ExtRAMData')));) the value of progress is displayed strange value . Also display is flickering.What is the problem ?if I check aMemory seperately then it is working ok as follows
&sharpdefine GUI_NUMBYTES (1024) * 1024
U32 aMemory[GUI_NUMBYTES / 4] __attribute__((section('.ExtRAMData')));
uwWriteReadStatus=0;
for (uwIndex = 0; uwIndex < (GUI_NUMBYTES / 4); uwIndex++)
{aMemory1[uwIndex] = uwIndex;}/* Read back data from the SDRAM memory */
for (uwIndex = 0; uwIndex < (GUI_NUMBYTES / 4); uwIndex++){// if (0x87654321 != *(__IO uint32_t*) (SDRAM_BANK_ADDR + WRITE_READ_ADDR + 4*uwIndex))if (uwIndex != aMemory1[uwIndex]){uwWriteReadStatus++;}}I am getting
uwWriteReadStatus as 0;That means it working.
I am using 8MB sdram with 32bit interface.
In .ld file following declaration is done
/* Specify the memory areas */
MEMORY{RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192KCCMRAM (rw) : ORIGIN = 0x10000000, LENGTH = 64KFLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048KMEMORY_ARRAY1 (xrw) : ORIGIN = 0xC0200000, LENGTH = 2M}...
.ARM.attributes 0 : { *(.ARM.attributes) }
.ExtRAMData(NOLOAD) : {*(.ExtRAMData)} >MEMORY_ARRAY1Regards,
Somnath Barge
#lcd-fliker #stemwin-stm32f429