2019-07-11 05:37 AM
CubeMx IDE 1.0.1 - Custom board base on STM32F746IGT and 7'' LCD 1024x600.
TouchGFX application consists of two screen. Each screen have text and one button. Each button change screen with slide transition (east and west) .
After a few clicks, during screens transition application crashes.
Using the debugger, after crash, I suspend execution.
The PC is in "Infinite_Loop" and call stack in the follow:
What could be the problem ?
2019-07-11 09:25 AM
It probably was another unhandled IRQ triggering but when you end up in the Default_Handler your debugger will say it's the WWDG_IRQHandler in the call stack. If you don't have a HardFault_Handler defined that seems like the most likely culprit. If you don't have it defined you can define it to see if it lands there and then can take a look at the hard fault status registers to get a better idea to what might be happening. If it's not a hardfault, I would take a step back and try to see if you have any IRQs that might be firing but are not handled.
2019-07-11 11:51 PM
Yeah, i'd also check that your interrupt vector table is correct. Are you expecting a specific interrupt, or don't you know what might be happening? In any case, it is only hitting the weak symbol and then going to the default handler.
2019-07-12 12:20 AM
I do not expect a specific interruption. I don't know what could happen!
I have verified that problem occurs only during the screens transition.
I have HardFault_Handler defined, but it does not triggered when problem occurs.
What can I still verify?
This is the configuration of the NVIC.
2019-07-12 06:34 AM
Following the post "Drawing a TGFX box widget in big screen (800x480) causing crash" I tried to use Use NoDMA class and application no longer crashes.
Of course transition speed has been significantly reduced.
I also tried hal.lockDMAToFrontPorch(true) without success!
What can I do now to solve ?
2019-07-15 02:26 AM
I restored the DMA and reduced the frequency of the LTDC from 48MHZ to 24MHz and the crash no longer occurs!
However, when the crash occurs, I have verified IPSR register content. The IPSR register contents [0x00000069] say that following interrupt occurred:
HardFault, BusFault and UsageFault. I have enabled related callback functions, but these are not called!
2019-08-05 04:56 AM
Hi @Community member,
I'm back from vacation, what's your status on this?
/Martin
2019-08-26 12:23 AM
Hi @Martin KJELDSEN,
I also back from vacation :pensive_face:
I have not investigated this problem anymore.
Is it normal that a too high frequency of the LTDC causes the crash?
/Antonello
2019-08-26 12:44 AM
You should not be getting hard faults. Maybe buffer under/overruns due to frequency setings, but i wouldn't expect a hardfault.