Skip to main content
Associate
August 22, 2026
Solved

Struggling with TouchGFX on custom board

  • August 22, 2026
  • 8 replies
  • 73 views

I am struggling to get TouchGFX running on my custom board. The processor is the STM32H7A3RGT and I am driving a 320 pixel x 960 pixel LCD display. I have allocated a frame buffer in internal RAM and have LTDC producing PCLK, DE, VSYNC and HSYNC. I have configured my firmware using CubeMX to use FreeRTOS. I added a call to MX_TouchGFX_Process in my default task but it gets stuck on an assert. Specifically here:

Call Stack

The reason it gets stuck is because pxQueue->ixItemSize is not zero !

ASSERT in xQueueSemaphoreTake

What am I missing ?

Andy

Best answer by AndyFraser

Not sure what I have done but it is no longer getting stuck and am now getting an image on my LCD 😁 (sort of 😦).

Andy

8 replies

MM..1
Super User
August 22, 2026

Check in MX NVIC interrupt settings for all hw … Next in MX TouchGFX check your setup is LTDC for type and for timing.

Associate
August 22, 2026

Thanks for the reply - what specifically am I looking for in NVIC?

I have configured everything for LTDC and am seeing what looks like good signals on PCLK (10MHz), DE, VSYNC and HSYNC.

This looks more like a firmware issue in that xQueueSemaphoreTake is expecting an item size of 0 and the item size is 320.

Looking at the stack trace, it looks like TouchGFX is trying to ‘blit’ to the frame buffer and I am suspicious about the 320 as that is the width of my display in pixels.

Andy

MM..1
Super User
August 22, 2026

Show TouchGFX settings in MX too.

Associate
September 1, 2026

Yes, it is working fine now - can’t exactly remember what the solution was though :-(

 

Andy