cancel
Showing results for 
Search instead for 
Did you mean: 

Build of TouchGFX with CubeIDE causes error messages everytime

GMair
Associate II

Hi,

I try to build a TouchGFX project with the CubeIDE but during compilation I always get weird errror messages like that:

./TouchGFX/touchgfx/os/OSWrappers.cpp:1:10: fatal error: touchgfx/framework/include/touchgfx/hal/OSWrappers.hpp: No such file or directory

This file is definitely in the project (just like the others which create errors as well). The shortkey F3 guides me to the file. So CubeIDE in principle knows where to find it.

I already included the path - see attachment.

I'm using CubeIDE1.4.2 and TouchGFX 4.13. I know that they are not compatibel but I can't open TouchGFX 4.14. Neither manually nor automatically.

Thanks

Gerhard

16 REPLIES 16
Alexandre RENOUX
Principal

Hello,

Could you check if the library is correctly indicated in the libraries and library path tab ?

/Alexandre

GMair
Associate II

Hi Alexandre,

indicating libraries and library path manually doesn't help. Now I reinstalled CubeIDE and repeated it, but that didn't help as well. Creating a TouchGFX with CubeIDE still leads to weird errrors that files can't be found which are definitely defined..

Implementing a Project which was created by TouchGFX works but this shouldn't be the workflow...

Best Regards

Gerhard

Alexandre RENOUX
Principal

Could you enclose your project so that I can have a look and try to see what is the problem ?

It's definitely possible to create a project from scratch using CubeMX and TouchGFX so there must be something not correctly done in your project.

What board are you working on ? If it is a board that we support, then the normal workflow is to use the Application Template. If not a board we support but very similar (same MCU family), using the Application Template of the one we support as help is the best approach.

And if it is completely different, doing it from scratch is the right way.

/Alexandre

GMair
Associate II

I'm using the STM32F746 Discovery Board. I created a project as desired with CubeIDE 1.4.0 you can find it attached.

Thank you.

Regards

Gerhard

Alexandre RENOUX
Principal

Why don't you want to use the Application template for F746G-DISCO ? I guess you don't if you have such an error.

Also I didn't see that you couldn't open 4.14, have you tried reinstalling it ?

/Alexandre

GMair
Associate II

Hi Alexandre,

I'm a little bit confused. First you told me that creating a TouchGFX project with CubeIDE should work and now you recommend to use the TouchGFX template for F746-DISCO in order not to get any errors?

I created this project with CubeIDE 1.4.0 the following way:

  • selecting the F746G-DISCO and creating a new c++ project
  • disabling RMII
  • configuring LTDC interface
  • enabling TouchGFX Generator 4.14 and doing some more settings there
  • opening ApplicationTemplate.touchgfx.part with TouchGFX 4.13 because I see no way how to open it with 4.14
  • creating a box and a toggle button in TouchGFX
  • then pressing on "Generate Code" and going back to CubeIDE

after these various steps I should have a working project in CubdIDE? right?

I reinstalled CubeIDE 1.4.0. Since TouchGFX 4.14 is part of it I guess that TouchGFX 4.14 is reinstalled as well.

Best Regards

Gerhard

When did I say you could create a TouchGFX project with CubeIDE ? I don't recall saying it and I will never because I will always recommend using the Application Template if there is one.

/Alexandre

There is one part that we are not on the page I believe, when I say using CubeMX I don't mean using it with CubeIDE.

CubeMX works as a standalone software and from my experience in graphics you should prefer using CubeMX this way and CubeIDE as a simple IDE as it supposed to be. This is how we develop Application Templates so I can guarantee a working project with this workflow.

/Alexandre

TSchr.1
Associate II

I am getting the same error messages that files are missing but I can view the files when I click on the #include-Line and press F3.

I'm using the CubeIDE Version 1.4.2 with TouchGFX-Version 4.14, as well as CubeMX Version 6.0.1

Steps to reproduce the error:

  • Start a new Project in CubeIDE
  • Select the STM32F429 Discovery as the board
  • When Asked, confirm that all hardware is set up with default values
  • Add the TouchGFX Software from the Advanced Software Packages
  • Activate TouchGFX and configure it to use LTDC as well as the ChromART
  • Generate Code
  • Open the TouchGFX Designer from CubeIDE and put a simple text in the middle of the screen
  • Generate code inside TouchGFX Designer
  • Exit TouchGFX Designer and hit Compile

This produces the error-messages attached in file "CubeIDE_TouchGFXErrors"

If I use the method Alexandre suggested, I get the errors attached in File CubeMX_TouchGFXErrors.

Steps to reproduce these error-messages:

  • Open new Project in CubeMX
  • Select the STM32F429 Discovery
  • Confirm to initialize all Hardware with default values
  • Add TouchGFX Software from the Advanced Software-Menu
  • Activate TouchGFX and configure it to use LTDC and ChromART
  • Name Project and Generate Code for CubeIDE
  • Open Project in CubeIDE
  • Open the TouchGFX Designer
  • Add simple Text to the middle of the Screen
  • Hit Generate Code and Close TouchGFX Designer
  • Hit Compile in CubeIDE

This is basically exactly the sequence of steps shown in several Videos, including official videos made by STM.

The only way I can currently get a working code is to use the TouchGFX Designer and create a project with it that I import into CubeIDE. This is nice to experiment with and to see what TouchGFX can do (which is impressive and one of the reasons why I'm using ST Chips), but pretty much useless if I want to program my own hardware or talk to pieces of external hardware connected to the Discovery Board.

Does anyone have ideas on how to fix these problems?

Btw. I think it would help a lot of people if there was a simple step by step tutorial on how to implement drivers for one of the cheap ILI9341 Display-Modules that only offer SPI-Connection and are used basically everywhere in the Arduino Community.