cancel
Showing results for 
Search instead for 
Did you mean: 

Build failing at bin/target.ellf

adriancriollo
Associate II

Hi,

I am trying to load a demo in TouchGFX into my display and I've followed all the steps to the tutorial but when I program and run target, I run into the following issue:

Program and Run Target
Generate
Done
Generate Assets
make -f simulator/gcc/Makefile assets -j8
Reading ./application.config
Reading ./target.config
Done
Post Generate
touchgfx update_project --project-file=simulator/msvs/Application.vcxproj
Done
Post Generate Target
touchgfx update_project
.cproject file: ../STM32CubeIDE/.cproject
Writing STM32CubeIDE project file: ../STM32CubeIDE/.project
Writing STM32CubeIDE project file: ../STM32CubeIDE/.cproject
Done
Compile
make -f ../gcc/Makefile -j8
Reading TouchGFX/application.config
Reading TouchGFX/target.config
Linking TouchGFX/build/bin/target.elf

Middlewares/ST/touchgfx_components/gpu2d/TouchGFXNema/lib/cortex_m33/gcc\libtouchgfxnema-float-abi-hard.a(LCDGPU2D.o): In function `touchgfx::LCDGPU2D::blitCopyCompressedRGB565_16BPP(unsigned char const*, touchgfx::Rect const&, touchgfx::Rect const&, unsigned char) [clone .part.8]':
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.8+0x214): undefined reference to `touchgfx::paint::rgb565::lineFromRGB565(unsigned short*, unsigned short const*, unsigned int, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.8+0x3c6): undefined reference to `touchgfx::paint::rgb565::lineFromRGB565(unsigned short*, unsigned short const*, unsigned int, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_16BPPEPKhRKNS_4RectES5_h.part.8+0x8ac): undefined reference to `touchgfx::paint::rgb565::lineFromRGB565(unsigned short*, unsigned short const*, unsigned int, unsigned char)'
Middlewares/ST/touchgfx_components/gpu2d/TouchGFXNema/lib/cortex_m33/gcc\libtouchgfxnema-float-abi-hard.a(LCDGPU2D.o): In function `touchgfx::LCDGPU2D::blitCopyCompressedARGB8888_16BPP(unsigned char const*, touchgfx::Rect const&, touchgfx::Rect const&, unsigned char) [clone .part.9]':
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.9+0x202): undefined reference to `touchgfx::paint::rgb565::lineFromARGB8888(unsigned short*, unsigned long const*, unsigned int, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.9+0x354): undefined reference to `touchgfx::paint::rgb565::lineFromARGB8888(unsigned short*, unsigned long const*, unsigned int, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_16BPPEPKhRKNS_4RectES5_h.part.9+0x40e): undefined reference to `touchgfx::paint::rgb565::lineFromARGB8888(unsigned short*, unsigned long const*, unsigned int, unsigned char)'
Middlewares/ST/touchgfx_components/gpu2d/TouchGFXNema/lib/cortex_m33/gcc\libtouchgfxnema-float-abi-hard.a(LCDGPU2D.o): In function `touchgfx::LCDGPU2D::blitCopyCompressedRGB565_32BPP(unsigned char const*, touchgfx::Rect const&, touchgfx::Rect const&, unsigned char) [clone .part.12]':
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.12+0x252): undefined reference to `touchgfx::paint::argb8888::lineFromRGB565(unsigned char*, unsigned short const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.12+0x326): undefined reference to `touchgfx::paint::argb8888::lineFromRGB565(unsigned char*, unsigned short const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB565_32BPPEPKhRKNS_4RectES5_h.part.12+0x498): undefined reference to `touchgfx::paint::argb8888::lineFromRGB565(unsigned char*, unsigned short const*, short, unsigned char)'
Middlewares/ST/touchgfx_components/gpu2d/TouchGFXNema/lib/cortex_m33/gcc\libtouchgfxnema-float-abi-hard.a(LCDGPU2D.o): In function `touchgfx::LCDGPU2D::blitCopyCompressedRGB888_32BPP(unsigned char const*, touchgfx::Rect const&, touchgfx::Rect const&, unsigned char) [clone .part.13]':
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB888_32BPPEPKhRKNS_4RectES5_h.part.13+0x1a8): undefined reference to `touchgfx::paint::argb8888::lineFromARGB8888(unsigned char*, unsigned long const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB888_32BPPEPKhRKNS_4RectES5_h.part.13+0x2d0): undefined reference to `touchgfx::paint::argb8888::lineFromARGB8888(unsigned char*, unsigned long const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D30blitCopyCompressedRGB888_32BPPEPKhRKNS_4RectES5_h.part.13+0x51e): undefined reference to `touchgfx::paint::argb8888::lineFromColor(unsigned long*, short, unsigned long, unsigned char)'
Middlewares/ST/touchgfx_components/gpu2d/TouchGFXNema/lib/cortex_m33/gcc\libtouchgfxnema-float-abi-hard.a(LCDGPU2D.o): In function `touchgfx::LCDGPU2D::blitCopyCompressedARGB8888_32BPP(unsigned char const*, touchgfx::Rect const&, touchgfx::Rect const&, unsigned char) [clone .part.14]':
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.14+0x1dc): undefined reference to `touchgfx::paint::argb8888::lineFromARGB8888(unsigned char*, unsigned long const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.14+0x3f8): undefined reference to `touchgfx::paint::argb8888::lineFromARGB8888(unsigned char*, unsigned long const*, short, unsigned char)'
(.text._ZN8touchgfx8LCDGPU2D32blitCopyCompressedARGB8888_32BPPEPKhRKNS_4RectES5_h.part.14+0x678): undefined reference to `touchgfx::paint::argb8888::lineFromColor(unsigned long*, short, unsigned long, unsigned char)'
collect2.exe: error: ld returned 1 exit status
gcc/Makefile:330: recipe for target 'TouchGFX/build/bin/target.elf' failed
make[2]: *** [TouchGFX/build/bin/target.elf] Error 1
gcc/Makefile:326: recipe for target 'generate_assets' failed
make[1]: *** [generate_assets] Error 2
make: *** [all] Error 2
../gcc/Makefile:51: recipe for target 'all' failed
Failed
Failed

 

Any help would greatly be appreciated. 

 

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
adriancriollo
Associate II

I switched over to v4.23.2 and the problem went away. 

View solution in original post

4 REPLIES 4
Andrew Neil
Evangelist III

"undefined references" mean that you have omitted to include the definitions of those functions - either as source code, or as a pre-built binary library.

Thank you for your reply. I didn't change anything during install or the code. Any suggestion on how to fix?

adriancriollo
Associate II

I switched over to v4.23.2 and the problem went away. 

E02
Associate

Using v4.24.0 Vector Rendering should be specified. It solved this error in my case.

Then using STM32CubeMX, or editing *.ioc file in STM32CubeIDE :

Pinout & Configuration > Middleware and Software > X-CUBE-TOUCHGFX > TouchGFX generator > Additional Features > Vector Rendering.