cancel
Showing results for 
Search instead for 
Did you mean: 

Issue when compiling a project with TouchGFX and FDCAN Code Integration

Aashritha_Vuda
Associate II

Subject: Issue with Displaying Speedometer Values on STM32H747XIH6 Board

Dear ST Community,

I am currently working on a project involving the STM32H747XIH6 DISCO board, using TouchGFX to create a speedometer display. I am facing difficulties where the speedometer values are not being displayed on the screen. Additionally, I am encountering some errors during the build and execution process.

Project Setup:

  • Board: STM32H747XIH6
  • IDE: STM32CubeIDE with TouchGFX integration
  • Peripherals: FDCAN for receiving data (speed values)
  • Middleware: FreeRTOS and TouchGFX

Problems Encountered:

  1. The speedometer values are not updating on the display, despite the data being received via FDCAN.
  2. During the build process, I am receiving the following errors:
    • Undefined reference to __sf_fake_stdin, __sf_fake_stdout, and __sf_fake_stderr in FreeRTOS.
    • Undefined reference to HAL_FDCAN_Init.

Actions Taken:

  • Verified the initialization of FDCAN in both STM32CubeMX and in the code.
  • Checked that the necessary HAL drivers are included and compiled.
  • Ensured that the FreeRTOS configuration supports standard input/output, as indicated by the errors.
  • Cleaned and rebuilt the project, but the issues persist.

I would greatly appreciate any guidance or suggestions to resolve these issues. I am particularly interested in:

  • Resolving the linker errors mentioned above.
  • Ensuring that the FDCAN data correctly updates the speedometer widget in TouchGFX.

Best regards.

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/CM7/.cproject
Writing STM32CubeIDE project file: ../../STM32CubeIDE/CM7/.project
Writing STM32CubeIDE project file: ../../STM32CubeIDE/CM7/.cproject
Done
Compile
make -f ../../gcc/Makefile -j8
make -C C:/TouchGFXProjects/MyApplication_3/gcc/ --no-print-directory -f makefile_cm4 -j --jobserver-fds=gmake_semaphore_4228 all
Linking CM4/TouchGFX/build/bin/target.elf
Producing additional output formats...
target.hex - Combined internal+external hex
intflash.elf - Internal flash, elf debug
intflash.hex - Internal flash, hex
make -C C:/TouchGFXProjects/MyApplication_3/gcc/ --no-print-directory -f makefile_cm7 -j --jobserver-fds=gmake_semaphore_4228 all
Converting images
Reading CM7/TouchGFX/application.config
Reading CM7/TouchGFX/target.config
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/GeneratedFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/CachedFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/CachedFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/FontCache.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/FontCache.cpp
Generating ../CM7/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp
Generating ../CM7/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp
WARNING - Char 0x1 is used but does not exist in the font!
WARNING - A total of 28 Unicode characters did not exist in the font!
Generating CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.cpp
Generating CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.cpp
Generating CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.cpp
Generating ../CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.cpp
Compiling CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.cpp
Compiling CM7/TouchGFX/generated/fonts/src/GeneratedFont.cpp
Compiling CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.cpp
Compiling CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.cpp
Compiling CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp
Compiling CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.cpp
Compiling CM7/TouchGFX/generated/fonts/src/FontCache.cpp
arm-none-eabi-g++: error: CM7/TouchGFX/generated/fonts/src/FontCache.cpp: No such file or directory
arm-none-eabi-g++: fatal error: no input files
compilation terminated.
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/FontCache.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/FontCache.o] Error 1
make[3]: *** Waiting for unfinished jobs....
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.cpp: No such file or directory
compilation terminated.
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp: No such file or directory
compilation terminated.
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/GeneratedFont.cpp: No such file or directory
compilation terminated.
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.cpp: No such file or directory
compilation terminated.
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.cpp: No such file or directory
compilation terminated.
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.o] Error 1
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/GeneratedFont.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/GeneratedFont.o] Error 1
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.o] Error 1
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.o] Error 1
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.o] Error 1
cc1plus.exe: fatal error: CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.cpp: No such file or directory
compilation terminated.
gcc/makefile_cm7:456: recipe for target 'CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.o' failed
make[3]: *** [CM7/TouchGFX/build/STM32H747I_DISCO/CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.o] Error 1
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/GeneratedFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/GeneratedFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/UnmappedDataFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/UnmappedDataFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/CachedFont.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/CachedFont.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/FontCache.hpp
Generating ../CM7/TouchGFX/generated/fonts/src/FontCache.cpp
Generating ../CM7/TouchGFX/generated/fonts/src/ApplicationFontProvider.cpp
Generating ../CM7/TouchGFX/generated/fonts/include/fonts/ApplicationFontProvider.hpp
Generating ../CM7/TouchGFX/generated/texts/include/texts/TextKeysAndLanguages.hpp
WARNING - Char 0x1 is used but does not exist in the font!
WARNING - A total of 28 Unicode characters did not exist in the font!
Generating CM7/TouchGFX/generated/fonts/src/Font_impact_20_4bpp_0.cpp
Generating CM7/TouchGFX/generated/fonts/src/Table_impact_20_4bpp.cpp
Generating CM7/TouchGFX/generated/fonts/src/Kerning_impact_20_4bpp.cpp
Generating ../CM7/TouchGFX/generated/fonts/src/VectorFontRendererBuffers.cpp
gcc/makefile_cm7:420: recipe for target 'generate_assets' failed
make[2]: *** [generate_assets] Error 2
makefile_cm7:52: recipe for target 'all' failed
make[1]: *** [all] Error 2
../../gcc/Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2
Failed
Failed

1 ACCEPTED SOLUTION

Accepted Solutions
SofLit
ST Employee

Hello,

Did you generate the GUI with TouchGFX designer tool before to compile the project? 

SofLit_0-1726741919302.png

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
SofLit
ST Employee

Hello,

Did you generate the GUI with TouchGFX designer tool before to compile the project? 

SofLit_0-1726741919302.png

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.