Skip to main content
FJahn.1
Associate II
December 3, 2020
Question

I am missing a lot of the TouchCFX files after generating code with STM32CubeMX and "TouchCFX Designer". The linker errors is shown in the "Details". Should the code have been generated by "TouchCFX Designer" or have I missed something ?

  • December 3, 2020
  • 3 replies
  • 1213 views

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::~HAL()':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:101: undefined reference to `vtable for touchgfx::HAL'

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::lcd()':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:235: undefined reference to `touchgfx::HAL::instance'

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::backPorchExited()':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:547: undefined reference to `touchgfx::HAL::swapFrameBuffers()'

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::setFrameBufferStartAddress(void*, unsigned short, bool, bool)':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:652: undefined reference to `touchgfx::HAL::FRAME_BUFFER_HEIGHT'

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::setFrameBufferStartAddresses(void*, void*, void*)':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:674: undefined reference to `touchgfx::HAL::USE_DOUBLE_BUFFERING'

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:674: undefined reference to `touchgfx::HAL::USE_ANIMATION_STORAGE'

Application/User/TouchGFX/target/TouchGFXHAL.o: In function `touchgfx::HAL::performDisplayOrientationChange()':

C:/workspace/test/test/CM7/Middlewares/ST/touchgfx/framework/include/touchgfx/hal/HAL.hpp:1107: undefined reference to `touchgfx::HAL::DISPLAY_ROTATION'

This topic has been closed for replies.

3 replies

Technical Moderator
December 3, 2020

Hello @Community member​ ,

Welcome to the STM32 Community =)

I recommend you to follow the TouchGFX getting started and create your project from TouchGFX Designer with the right application template.

To create your first graphical application, please follow the upcoming steps:

  • Launch the TouchGFX Designer tool
  • Rename the application
  • Choose the directory to save it
  • Select the Application Template section for your board, then click on CREATE button
  • Create your project, then Generate code.
  • Launch STM32CubeIDE and open the project generated located in the directory C:\TouchGFXProjects.
  • Open the project's folder, and you can see the CubeMX ioc file and projects created for different toolchains.
  • Open the ioc file (STM32CubeMX) placed in the project explorer section to configure your project.

You can also refer to the TouchGFX tutorials and TouchGFX MOOC to start your project.

Hope this helps you.

Please mark my answer as best by clicking on the "Select as Best" button if it fully solved your issue. This will help other users find this solution more quickly.

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
FJahn.1
FJahn.1Author
Associate II
December 3, 2020

Hi Imen,

Thanks for the fast response.

I have looked at the guides, but didn't find anything that could help me out.

Your suggestion above doesn't work since there is no Application Template for the STM32H745I-DISCO board which I am using. If am use another board I am able to compile and link the project, but I can't make it work for my STM32H745I-DISCO board. Where do the linker expect to get the the HAL functions from. Are they located in an obj library that I am missing or should I have the source files ?.

Should it be generated by the TouchGFX Designer or STM32CubeMX ?.

Best regards,

Flemming

Alexandre RENOUX
Visitor II
December 8, 2020

Hi FJahn.1,

Unfortunately, H745-DISCO is not yet supported by TouchGFX.

Were you able in CubeMX to select the additional package TouchGFX Generator ? Normally, you shouldn't.

I believe since this board is not supported, TouchGFX couldn't generate properly what you wanted.

/Alexandre

FJahn.1
FJahn.1Author
Associate II
December 8, 2020

Hi Alexandre,

Thanks for the answer.

I tried, but didn't managed to get it to work.

Hope ST will provide the template for H745-DISCO soon.

Best regards,

Flemming