2017-08-21 12:50 AM
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-stm32f4292017-08-28 12:05 AM
How many frame buffers have been allocated...?
What is the location of aMemory ?
2017-08-28 05:04 AM
Hello !
''
I am using 8MB sdram with 32bit interface.
''This means that if you try to access an address like 0xC0000002 you will get wrong results.
Any read or write to this memory is virtualy ANDed with 0xFFFFFFFC. The two LSbs are allways masked from FMC controller.
The internal MCU RAM conforms to this requirement but your SDRAM not.
So you need to change your memory configuration somehow to conform the STEMWin requirement.