cancel
Showing results for 
Search instead for 
Did you mean: 

50ms Delay in MX_TouchGFX_Process() Processing Time without FreeRTOS.

Balavardhi
Associate II

Hi I am using TouchGFX version of 4.19.1 and I am working without FreeRTOS.

I am calling MX_TouchGFX_Process() in the main while(1) loop and calling HAL::getInstance()->vSync(), OSWrappers::signalVSync() in the display TE interrupt line.

Whenever I call MX_TouchGFX_Process() in the main while(1) loop, it is taking 50 ms to come out from the MX_TouchGFX_Process() function. Because of this 50 ms delay display update is sluggish.

Could you please help me to solve this issue.

Thanks and Regards,

Bala

4 REPLIES 4
Osman SOYKURT
ST Employee

Hello Bala,

That's a strange behavior indeed. As far as I know, there's no delay in this function.

Can you give more information about your configuration please ?

  • Do you use a TouchGFX board setup ?
  • Which compiler do you use ?

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX
Balavardhi
Associate II

Hi Osman,

  • I am running on a custom board which is using STM32L4S9 and I am using 120 MHz clock.
  • I am using STM32Cube IDE for development.

Other observations:

  • Initially I started my project with FreeRTOS and measured the model tick time and it is around 30ms without any screen update.
  • Then the same project, I changed it to Without OS using CubeMX.
  • Then I measured model tick time and time taken to complete MX_TouchGFX_Process() function without any screen update. and time taken in both cases is of 46.4 ms.

This additional 15 ms between OS and non OS can add this sluggish behaviour.

Why is that extra time taken in case of Non OS?

Thanks and Regards,

Bala

Balavardhi
Associate II

Hi Osman,

Also could you please let me know whether can we call MX_TouchGFX_Process() inside Timer Interrupt.

Whenever I tried to call MX_TouchGFX_Process() inside Timer Interrupt, system is getting stuck inside backPorchExited().

Thanks and Regards,

Bala

Osman SOYKURT
ST Employee

Hello Balavardhi,

I'm not sure if this will help but can you try the optimization option with CubeIDE ?

(select "Optimize most -O3" for both GCC and G++ compiler on Debug and Release configuration)

0693W00000NqqesQAB.png 

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX