cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX - CubeIDE - CubeMX - STM32H755

RichH81
Associate II

Hello,

Can someone at ST provide explicit, step-by-step instructions describing in detail how to generate a project for the STM32H755 with TouchGFX running on the CM7 processor? All the posts I've seen online seem to describe ways of hacking projects together involving copying, editing, copying .cproject files, moving TouchGFX files around, deleting simulation files, etc. I've spent days on this now and always seems to end up with a project that can't build because the tools can't find TouchGFX files because TouchGFX generated those files in the wrong place (according to where CubeIDE thought they should be). My board has a working SDRAM, working LTDC correctly displaying whatever I write to the frame buffer in the SDRAM, etc. I have regenerated this project countless times now but always end up in the same place.

1. What tool should I be starting my project with? CubeIDE? CubeMX? TouchGFX?

2. What should the project structure look like when configured properly? What does the project directory structure looks like if the project has been built as ST recommends it to be built?

3. What tool versions are needed? I've updated everything to the latest version as of March, 2024.

4. Are there instructions documenting this process?

 

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
RichH81
Associate II

Thanks Louis. The issue seems to be that trying to open and modify the .ioc file from within CubeIDE is causing the generated code to be placed in the project root rather than in the subfolder for the particular processor those peripherals are attached to. The only way to add peripherals is through CubeMX not CubeIDE. This is true whether starting a new project or modifying an existing project. Likely this only applies to dual core systems.

View solution in original post

5 REPLIES 5
LouisB
ST Employee

Hello @RichH81 ,

  • For how to build a project from scratch, you may refer to the documentation :Board Bring Up Introduction | TouchGFX Documentation. If you need additional information on the different concepts in "TouchGFX", the documentation is a good source.

  • An exemple of a project folder structure :

LouisB_0-1710500323237.png
An exemple of a project/TouchGFX folder structure : TouchGFX Designer Project | TouchGFX Documentation

 

  • On the differents softwares, to summarize :
    CubeMX : Configure your board (pins,drivers,middlewares,etc)
    TouchGFX Designer : Creates the UI on the TouchGFX project (after the CubeMX code generation)
    You can use CubeIDE to add code to your project.

  • For the versions, you can take the latest ones.

I hope it helps,

Regards, 

Louis BOUDO
ST Software Developer | TouchGFX

Thank you Louis. For the example you provided does that cover a dual core stm32? I've found that I have to start with cubemx to generate the project including getting touchgfx in before generating the project code otherwise the directory structure is wrong and touchide fails to generate code because it can't find the .cproject which is located within the directory for the specific core running touchgfx. My working directory structure does not look like yours as I have a CM4 and CM7 directory in the project root seemingly to placate Touchgfx(?). I'm still not clear if what has been generates is actually correct for long term stability of the project.

Hello @RichH81 ,

With dual core you have two folders for each cores (CM4 and CM7). It's the same as for single core, except that the TouchGfx related folders will be placed on the context (core) you set in CubeMX.

Regards,

Louis BOUDO
ST Software Developer | TouchGFX
RichH81
Associate II

Thanks Louis. The issue seems to be that trying to open and modify the .ioc file from within CubeIDE is causing the generated code to be placed in the project root rather than in the subfolder for the particular processor those peripherals are attached to. The only way to add peripherals is through CubeMX not CubeIDE. This is true whether starting a new project or modifying an existing project. Likely this only applies to dual core systems.

LouisB
ST Employee

Hello @RichH81 ,

I'm glad that you find a solution to your issue, if you need any more information don't hesitate to open a new topic.

Regards,

Louis BOUDO
ST Software Developer | TouchGFX