Skip to main content
SEam72
Associate II
July 21, 2024
Question

touchgfx 4.24 and RGB compression: linker error flushline

  • July 21, 2024
  • 3 replies
  • 1327 views

Hi,

just activated the compression for my bitmaps (Tgfx V4.24, CubeIDE 1.15.1)

  • Touchgfx Designer generates all files fine.
  • Simulation on Windows with VS works fine.

Moving to target results in linker error (3 times):

.text._ZN8touchgfx8LCD16bpp19DecompressorRGB_QOI16blitCopyARGB8888EPKhRKNS_4RectES6_h+0x31c): undefined reference to `touchgfx::paint::flushLine(unsigned long*, int)'

(and, of course, we did an refresh / clean / recompile)

 

By disabling the RGB decompression modul, linking is fine, but compressed bitmaps do no more work (of course):

FrontendApplicationBase.cpp:

comment this out in FrontendApplicationBase::FrontendApplicationBase constructor:
reinterpret_cast<touchgfx::LCD16bpp&>(touchgfx::HAL::lcd()).enableDecompressorRGB();

 

stm stuff: any hits?

Thanks!

 

 

 

 

 

3 replies

ST Employee
July 23, 2024

Hello @SEam72 ,

 

Did you created your project from the 4.24 version or you did a migration from an older version ?

 

BR,

SEam72
SEam72Author
Associate II
July 23, 2024

Hi,

this is an upgrade from older version (started at 4.18).

Of course we deleted all the generated-dirs and touchgfx-dir, so everything is generated completly new without any old stuff.

We created a weak flushline() function, so the linker is satisfied, but we did not yet tested it with compressed pictures.

Thank you.
/ SE

ST Employee
July 23, 2024

It might be an issue with how it's link in cube mx, there's the same issue here Solved: TouchGfx 4.24 linker problem - STMicroelectronics Community. It may solve the problem.

BR,

SEam72
SEam72Author
Associate II
July 29, 2024

We used CubeMX just for initial project setup, no more again because of different reasons.

But the flushline-function should be part of the TouchGFX-library, should'nt it? I don't see any reason why it maybe is part of CubeMX and why we there should be a need for CubeMX.

In which library or where as sourcecode is flusline() it implemented?

Thank you.