Skip to main content
ALomb
Senior
July 11, 2019
Question

WWDG_IRQHandler during screen change

  • July 11, 2019
  • 8 replies
  • 3730 views

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:

0690X000009YeeUQAS.png

What could be the problem ?

This topic has been closed for replies.

8 replies

cameronf
Associate
July 11, 2019

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.

Martin KJELDSEN
Principal III
July 12, 2019

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.

ALomb
ALombAuthor
Senior
July 12, 2019

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.

0690X000009Yg1tQAC.png

ALomb
ALombAuthor
Senior
July 12, 2019

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 ?

ALomb
ALombAuthor
Senior
July 15, 2019

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!

Martin KJELDSEN
Principal III
August 5, 2019

Hi @Community member​,

I'm back from vacation, what's your status on this?

/Martin

ALomb
ALombAuthor
Senior
August 26, 2019

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

Martin KJELDSEN
Principal III
August 26, 2019

You should not be getting hard faults. Maybe buffer under/overruns due to frequency setings, but i wouldn't expect a hardfault.