Skip to main content
GS1
Senior III
Jul 15, 2022 6:22 PM UTC
Solved

Linker Error for TouchGFX framework part after Migration to 4.20.0.

Hello TouchGFX team,

I migrated my project from 4.18.1 to 4.20.0., added some dynamic graphics handling and now I get a linker error when building the project:

xProML_TFT\xProML_TFT.axf: Error: L6218E: Undefined symbol touchgfx::paint::rgb888::lineFromColor(unsigned char*, unsigned, unsigned, unsigned char) (referred from painterrgb888.o).

xProML_TFT\xProML_TFT.axf: Error: L6218E: Undefined symbol touchgfx::paint::rgb888::tearDown() (referred from painterrgb888.o).

Not enough information to list image symbols.

Not enough information to list load addresses in the image map.

Finished: 2 information, 0 warning and 2 error messages.

"xProML_TFT\xProML_TFT.axf" - 2 Error(s), 0 Warning(s).

I tracked the file painterrgb888.cpp and see a big difference between the version from 4.18.1 and 4.20.0.

As this is a part of the framework (widget / canvas), I don't dare to copy the file from the old version to version 4.20.0.

How can I fix this??? What is wrong ?

Any help is very much appreciated. My customer (Aston Martin Lagonda!) is waiting for the firmware update!

BR GS

This topic has been closed for replies.
egoltzman
egoltzmanBest answer
Senior
Jul 16, 2022 6:05 AM UTC

Try to read this - https://support.touchgfx.com/4.20/docs/miscellaneous/known-issues

I had some issues after I regenerate the project so I follow the instructions at the end of this section:

If you for some reason cannot regenerate code in CubeMX, you can manually add the missing functions by inserting the following includes in a .cpp file in your application:
 
#include <touchgfx/hal/Paint.hpp>
#include <touchgfx/hal/PaintRGB565Impl.hpp> // 16bpp painting routines
#include <touchgfx/hal/PaintRGB888Impl.hpp> // 24bpp painting routines

6 replies

MM..1
Super User
Jul 15, 2022 7:00 PM UTC

Primary Clean project after upgrade , and some functions between version changes or is removed.

You need correct your custom code.

redmig
Associate III
Jul 15, 2022 7:38 PM UTC

Did you try to regenerate the code after the update? (but remeber to do a backup first!)

GS1
GS1Author
Senior III
Jul 17, 2022 10:09 AM UTC

I generated code with TouchGFX, yes.

But due to the fact that the project is originally was created before TouchGFX was included by ST (2017), I can not use the Cube Generate Code version. The project structure is totally different. Was a tedious job to include the TouchGFX part into the remaining application and get all components working together. Up to Version 4.20.0. everything was working perfectly with updates.

egoltzman
egoltzmanBest answer
Senior
Jul 16, 2022 6:05 AM UTC

Try to read this - https://support.touchgfx.com/4.20/docs/miscellaneous/known-issues

I had some issues after I regenerate the project so I follow the instructions at the end of this section:

If you for some reason cannot regenerate code in CubeMX, you can manually add the missing functions by inserting the following includes in a .cpp file in your application:
 
#include <touchgfx/hal/Paint.hpp>
#include <touchgfx/hal/PaintRGB565Impl.hpp> // 16bpp painting routines
#include <touchgfx/hal/PaintRGB888Impl.hpp> // 24bpp painting routines

GS1
GS1Author
Senior III
Jul 17, 2022 10:11 AM UTC

Thank you egoltzman,

this might help and I will try that immediately...

Concerning regenerate with CubeMX:

Due to the fact that the project originally was created before TouchGFX was included by ST (project from 2017), I can not use the Cube Generate Code version. The project structure is totally different. Was a tedious job to include the TouchGFX part into the remaining application and get all components working together. Up to Version 4.20.0. everything was working perfectly with updates.