Skip to main content
GS1
Senior III
July 15, 2022
Solved

Linker Error for TouchGFX framework part after Migration to 4.20.0.

  • July 15, 2022
  • 3 replies
  • 2460 views

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.
Best answer by egoltzman

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

3 replies

MM..1
Super User
July 15, 2022

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

You need correct your custom code.

redmig
Associate III
July 15, 2022

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

GS1
GS1Author
Senior III
July 17, 2022

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
July 16, 2022

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
July 17, 2022

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.