cancel
Showing results for 
Search instead for 
Did you mean: 

UI stuck in takeFrameBufferSemaphore

Gom
Associate II

Hi

When switching between screens fast, my UI always ends up freezing. Debugging reveals that it waits forever, waiting for the frame buffer semaphore.

Here is the call stack:

0693W000008ww2rQAA.png 

Inspecting other running tasks shows nothing wrong. Only the graphics task should touch the frame buffer semaphore, right? So it should never deadlock?

Environment:

  • IDE: Atollic
  • RTOS: FreeRTOS
  • TouchGFX: 4.16
  • OS: Windows
69 REPLIES 69
vtunr
Associate III

Hi @Martin KJELDSEN​ 

So, here's what we are using :

  • LTDC
  • External RAM
  • QSPI flash
  • Double buffer + animation buffer. Tested with only single buffer, same problem.
  • Framerate compensation on. Tested off, same problem.
  • lockDMAToFrontPorch to false. Tested true, same problem.

Once stuck :

0693W000008zFSsQAM.png0693W000008zFSdQAM.pngHere's the DMA2D registers :

0693W000008zFVwQAM.png

Martin KJELDSEN
Chief III

Thanks for the detailed info!

vtunr
Associate III

Hi @Martin KJELDSEN​,

 Any update on that ? Let me know if you need more information or test I can do.

Thanks

vtunr
Associate III

Hi @Martin KJELDSEN​,

Still no updates on this issue ? It's been more than a month after opening this issue, and it is not progressing. Is there another channel for support than this forum ?

Thanks,

Tony 

Hey Tony, sorry man. Let me add @Romain DIELEMAN​ to this thread. We're a bit short on support effort these days. You're constantly on my mind (along with a few others).

You say you're using Atollic - Did you hack together this project yourself? What are the priorities for the threads and interrupts? We don't officially support the old Atollic IDE.

If this is automatically generated i'm not expecting this to be the issue. But it does look like there's a race condition- Just to be clear - Can you share your project? I think i'll need to look at some code at this point

/Martin

Hi @Martin KJELDSEN​ 

So we're using Atollic because we started the project when it was the begining of the CubeIDE and the full integration of TouchGFX in CubeMX. Then, we kept TouchGFX up to date.

For source sharing, can we switch to email to discuss that ?

Thanks,

Tony

Sure, let's do that. Pretty sure my email is in my profile.

Martin KJELDSEN
Chief III

Just an update for everyone following the thread:

From the stack trace it is clear that touchgfx gets stuck while drawing a series of glyphs. This is something we've fixed in more recent versions of TouchGFX. I'm following this avenue of thought with OP by email.

/Martin

AKG
Associate III

Hi @Martin KJELDSEN​  : We have a similar issue in our display.

Can you please provide some details about the solution for this problem ?

You say that that touchgfx gets stuck while drawing a series of glyps and it is being fixed in more recent versions. Can you please say in which version this is being fixed ?

Which version are you using? There was a bug, once, but we're talking way back, where lockFrameBuffer() would cause a deadlock if a glyph was the last thing to be transferred by DMA2D.

/Martin