cancel
Showing results for 
Search instead for 
Did you mean: 

Linker Error for TouchGFX framework part after Migration to 4.20.0.

GS1
Senior III

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

1 ACCEPTED SOLUTION

Accepted Solutions
egoltzman
Senior

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

View solution in original post

6 REPLIES 6
MM..1
Chief II

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

You need correct your custom code.

redmig
Associate III

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

egoltzman
Senior

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

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.

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.

Success! Thank you for your help! it worked!

I was not seeing the "known issues" comment... I only was looking into the change history. Next time I will have a closer look to the known issue part too.

BR GS