Hi
on my project, I create 7 GUI_AUTODEV to draw separate dirty area to speed up screen refresh rate.
But I always got hardfault_handler exception after free running for a while.
check the call stack, the last function before HardFault_Handler always is emWin library function, just like _GetPixelIndex().
I have already alloc 0x400000 bytes size on external SDRAM for GUI library, I think it could not caused by memory not enough.
I always try to increase stack an heap size to 0x800 and 0x400, but the issue still happen.
my procedure just like:
while(1)
{
1. update drawing parameters.
2. call GUI_MEMDEV_DrawAuto for each GUI_AUTODEV
3. call GUI_Exec()
}
The issue happen duration time could soon to happen ( 4 seconds ) or long time to happen (15000 seconds).
So, I try to decrease the GUI_AUTODEV content numbers down to two memory devices only ( Just update two dirty area), and the problem disappear, free run for 72 hours.
Is there anything else I miss? thanks a lot.
Br, Titan.Chen
on my project, I create 7 GUI_AUTODEV to draw separate dirty area to speed up screen refresh rate.
But I always got hardfault_handler exception after free running for a while.
check the call stack, the last function before HardFault_Handler always is emWin library function, just like _GetPixelIndex().
I have already alloc 0x400000 bytes size on external SDRAM for GUI library, I think it could not caused by memory not enough.
I always try to increase stack an heap size to 0x800 and 0x400, but the issue still happen.
my procedure just like:
while(1)
{
1. update drawing parameters.
2. call GUI_MEMDEV_DrawAuto for each GUI_AUTODEV
3. call GUI_Exec()
}
The issue happen duration time could soon to happen ( 4 seconds ) or long time to happen (15000 seconds).
So, I try to decrease the GUI_AUTODEV content numbers down to two memory devices only ( Just update two dirty area), and the problem disappear, free run for 72 hours.
Is there anything else I miss? thanks a lot.
Br, Titan.Chen