cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX hangs on LCD::drawString()

pszkotak
Associate

Hello,

I'm integrating the custom TouchGFX application with the SPI display on the custom hardware.

Used MCU is the STM32WB55 display is based on the SSD1357, connected with the SPI.

The application seem to hang during rendering of the first frame after the first vsync is called.

This is the traceback:

touchgfx::LCD16bpp::TextureMapper_L8_RGB565_Opaque_NearestNeighbor_GA::drawTextureMapScanLineSubdivisions() at 0x803702e 
touchgfx::LCD16bppSerialFlash::drawGlyph() at 0x8043fb0
touchgfx::LCD::drawStringInternal() at 0x8032bec
touchgfx::LCD::drawStringLTR() at 0x8033018
touchgfx::LCD::drawString() at Texts.cpp:54 0x8030008
touchgfx::TextArea::draw() at TextArea.cpp:55 0x802431a
touchgfx::Screen::JSMOC() at 0x80352e8
touchgfx::Screen::JSMOC() at 0x8035292
touchgfx::Screen::JSMOC() at 0x8035292
touchgfx::Screen::JSMOC() at 0x8035292
touchgfx::Screen::startSMOC() at 0x803533e
touchgfx::Screen::draw() at 0x803536c
touchgfx::Application::draw() at 0x803369c
touchgfx::Application::drawCachedAreas() at 0x80346ce
touchgfx::HAL::tick() at 0x80303ae
touchgfx::HAL::backPorchExited() at HAL.hpp:641 0x800e2ce
touchgfx::HAL::taskEntry() at 0x8030266touchgfx_taskEntry() at TouchGFXConfiguration.cpp:84 0x800ec40
MX_TouchGFX_Process() at app_touchgfx.c:71 0x800e01a
TouchGFX_Task() at main.c:1,080 0x800a680
pxPortInitialiseStack() at port.c:214 0x8017ffc

 

I tried to leave the platform running for some time and it does not seem to exit the drawTextureMapScanLineSubdivisions().

Debugging is very limited as all of those are in the precompiled TouchGFX lib.

 

 Changing the Vsync timer frequency or the heap/stack sizes does not seem to change anything.

 

Any hints are very appreciated.

 

Best regards,

Piotr

4 REPLIES 4
JTP1
Lead

Hello

Are you placing fonts to external flash ? Maybe try to put just one box to the screen and test to see does it works without text- objects.

Br JTP

pszkotak
Associate

Hi JTP,

thank you for the response.

We do not use the external flash at all now. Everything is placed in the internal flash.

 

Best regards,

Piotr

 

 

I had a similar issue. I got hardfaults inside _ZN8touchgfx11Application15drawCachedAreasEv with memory alignment issues due to MPU cache not enabled for AXI SRAM. After enabling it it resolved the issue. Have you solved it?

Kudo posts if you have the same problem and kudo replies if the solution works.
Click "Accept as Solution" if a reply solved your problem. If no solution was posted please answer with your own.
MM..1
Chief III

Im little lost. Vsync and SPI??? This bus dont use any vsync maybe TE.

Try start with empty screen and some graphics object and use partial framebuffer strategy.