cancel
Showing results for 
Search instead for 
Did you mean: 

HardFault TouchGFX

pokitoz
Associate

Hello,

I am using TouchGFX with freeRTOS on an STM32G0 board.
I call the touchgfxSignalVSync through a Timer Interrupt and quickly after I get an HardFault in the blitCopyARGB8888 function. As this is a library I cannot debug further. I am trying to go around the issue by increasing the stack size (24*3072 = 73728 bytes) but this does not fix the issue. Commenting the draw function in the touchgfxDisplayDriverTransmitBlock function does not help either.

Doing a step by step debug, I see that the load looks to be the issue where the address 0x2000cXXX is loaded.

pokitoz_0-1751297131861.png

 

 

Let me know if you need any more information.

Thanks!

 

if (htim->Instance == TIM4) {

touchgfxSignalVSync();

}

 

pokitoz_0-1751292582573.png

 

 

pokitoz_1-1751292602376.png

 

pokitoz_2-1751292636812.png

 

2 REPLIES 2
GaetanGodart
ST Employee

Hello @pokitoz ,

 

Can you try to set your "Number of blocks" in STM32CubeMX to 4 instead of 3?

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)
pokitoz
Associate

Hello Gaetan,

 

Thanks for the reply.

I had to lower the buffer from 8K to 4K to use 4 buffers because of memory constraints.

However, I still get an issue:

pokitoz_0-1751468856110.png

pokitoz_1-1751468892560.png

Do you have a sample configuration using an external flash, STM32G0, CMSISv1 and Partial Frame buffer ?

Best,