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 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.