cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX 4.18 and STM32CubeIDE - Unable to compile (Videos.s)

Mecanix
Senior

Hi, I've just managed to get 4.18 to show into STM32CubeIDE and fairly happy about that. However quite shattered to find out that some of the same 4.17 bugs remains... among a new one that is new to me (Videos.s). All in all, the default generated code does not compile and consequently makes TouchGFX unusable. Quite unfortunate.

Anybody had any luck getting around the now old 'touchgfx_init' and 'touchgfx_taskentry' bugs?

ps. the videos.s bug (1st screenshot) can somehow be fixed by simply deleting the entry from the resource tree.

0693W00000FDpapQAD.jpg 

0693W00000FDpazQAD.jpg

1 ACCEPTED SOLUTION

Accepted Solutions

Could you share your project ? This confuses me a bit because I am able to make it run with those steps (refer to Board Bring Up articles in the documentation):

  • Open STM32CubeMX
  • Create a project with the correct MCU (STM32F412RGT6)
  • Set whatever is needed for your project (flash, RAM,clock configuration, ...). Enabling CRC is necessary
  • Add TouchGFX with the "Select Component" option in the "Software Packs" tab
  • Make sure you enable X-Cube-TouchGFX_4.18.0 in the added Software Packs section at the bottom of the tree view in STM32CubeMX, set whatever is relevant (only changed the widht and height by reflex just to have a temporary clearer project in TouchGFX Designer)
  • Under the Project Manager tab select the right toolchain (STM32CubeIDE) and uncheck the "Generate Under Root" option
  • Generate code and close STM32CubeMX
  • Navigate to the project folder and go to the /TouchGFX folder. Open the generated ApplicationTemplate.touchgfx.part with TouchGFX 4.18 (if no TouchGFX folder was generated make sure you have actually enabled TouchGFX in STM32CubeMX)
  • Do whatever you want in TouchGFX Designer and generate code (additionally, remember to always generate code from TouchGFX after doing changes in STM32CubeMX)
  • Navigate to the project folder and go to the /STM32CubeIDE folder. Double click on either the .cproject or .project to open it with STM32CubeIDE.
  • Try to build.

/Romain

View solution in original post

26 REPLIES 26
Mecanix
Senior

Steps to reproduce:

  1. Create new project > Select "STM32F412RGT6" as the part
  2. Enable SYS Serial wire > Enable CRC > Add Software Pack > Select TouchGFX 4.18 (leave everything default)
  3. Generate Code > Close *.ioc
  4. Double click on the generated "ApplicationTemplate.touchgfx.part" file
  5. in TouchGFX application (Generator) > Generate code > Close TouchGFX application
  6. Build project > *ERRORS ABOVE OCCURS* ://

Hi,

From the steps you shared I am unsure if you started your project from STM32CubeIDE or from STM32CubeMX ? Could you right click on your project in the tree view in STM32CubeIDE and see if you have an option called "Convert to C" ? If not it would be called "Convert to C++" which means that your project is not a C++ project, where TouchGFX will not work. Those errors 'touchgfx_init' and 'touchgfx_taskentry' indicate that, but it might be something else.

Concerning the video widget from your steps it seems to me that you have not set it in the TouchGFX Generator in the STM32CubeMX view. It is not enough to just use the video widget in TouchGFX Designer.

I would recommend to always start a project from STMCubeMX instead but that it a personal preference to avoid those kind of errors (remember to not generate code under root as well).

/Romain

What remaining bugs from TouchGFX 4.17 are you referring to ?

Concerning the Videos.o issue, if you look at the error message you can see it is located in a Keil folder. Since you use STM32CubeIDe you can remove the library path and delete that folder (it is automatically generated by TouchGFX generator in case you use Keil one day. But to be honest this is an error from our side it should not be always generated, but only when using Keil. Thanks for reporting this it will be fixed in TouchGFX 4.18.1).

/Romain

Hi Romain, thanks for dropping by and giving it your best shot, much appreciated. (ps. I need some HMI updated, some that are bug'ed since 10~11 months lol so I was really anticipating 4.17 and 4.18 as new projects). Hope I won't have to wait for 4.19 :(

Edit: I started the project out of STM32CubeIDE

I confirm that I had the option to convert to "Convert to C++", and which I've done however made things far worst for some strange reason I can't figure out (see visual). Let me see if I can replicate this with a New Project set to C++ from scratch. And while at it I'll try your MX recommendation too. Let's see...

0693W00000FDsJhQAL.jpg

Mecanix
Senior

@Romain DIELEMAN​ 

Here goes the trace for a New Project from STM32CubeIDE 1.7.0 and TouchGFX 4.18.0 set to C++ as targeted Language. All pretty funky stuff...

Next trial: Have MX updated to 4.18, I'll see if starting project from this environment helps things a bit. I'll report back shortly.

0693W00000FDsSZQA1.jpg0693W00000FDsSyQAL.jpg

Yes unfortunately this is a STM32CubeIDE error, and not a TouchGFX error so we (the TouchGFX team) cannot fix it.

Concerning the HMI, what are you waiting for specifically ?

/Romain

Mecanix
Senior

Here goes the trace for a New Project from STM32CubeMX 6.3.0 and TouchGFX 4.18.0 and then Opened into STM32CubeIDE 1.7.0

"ApplicationTemplate.touchgfx.part" does not come up, project does not build, errors, all of that recurrent good fun!

As you can see nothing really works anymore, and that since Version 4.16.0 to my limited knowledge.

Wait a few more months hopefully in anticipation that these bugs eventually gets picked up by the ST's devs?

0693W00000FDtHYQA1.jpg0693W00000FDtJYQA1.jpg 

Mecanix
Senior

As a recommendation, if I may, it would be paramount for STMicroelectronics to settle on 1 (one) official method to generate those templates and dev/debug around that documented method. The ecosystem as it stands is a gigantic mess if you want my take; CubeIDE, CubeMX, Keil (whatever that is), others, its all over the place and anyone's guess as to how and where to get an empty project stable.

To add to the fire, of course ;) Although I'm pretty convinced most if not all of the dev out there shares the same sentiment.

All the best to you guys. I'll give this a few months wait at this end.