cancel
Showing results for 
Search instead for 
Did you mean: 

Improving the TouchGFX experience (Fixing broken links in the tool chain)

Martin KJELDSEN
Chief III

Hi everyone!

I'm kicking off a parallel effort to improve the experience using TouchGFX as far as general ST tool chain is concerned. There are links i cannot fix (though i can suggest improvements) and there are some that i can.

So, what are the major pain points in using this rather complicated tool chain (TouchGFX Designer, CubeMX, CubeIDE, CubeProgrammer, etc)?

  • Which improvements would you like to see to make using TouchGFX easier when it come to integration and tool chain? (Specific framework/designer inputs are also welcome and i'll forward those, although this survey is mostly concerned with how to improve integration between tools).
  • What are you typically struggling with when you struggle?

Thanks!

Best regards,

Martin

20 REPLIES 20

That's actually really good advice!

When not changing anything in the GUI assets I have removed the 'verify' step and sometimes also removed the breakpoint on main (if the issue I'm debugging is elsewhere it most likely have a few breakpoints of its own)

So basically you're working with multiple debug configurations, right? one that is 'fast' and one that is 'full'?

Yup! I basically disable the external loader on the "fast" configuration.

Good point about disabling verify and the main breakpoint as well. I keep verify enabled because (believe it or not) sometimes if I stand up from my chair while debugging the verification will fail. I should probably find an ESD safe chair... Anyway, the verification of the main program is pretty fast.

Embedded UI/UX Consulting: cadenza.design
PKara.1
Associate II

I spent entire weekend trying to make STM32CubeIDE work with TouchGFX but none of the "solutions" available online worked me. Can we please get this fixed first? Some further suggestions for improvements :

  1. Being able to duplicate a screen. Once I've setup a theme with one screen, it will be convenient to replicate that screen .
  2. I use Figma to generate assets that i then import into TouchGFX. Having access to those design tools withing TOuchGFX will make this software more design oriented.
  3. More advance widgets. Something similar to QT Designer

Thanks, Michael. The difficulties of maintaining an excel sheet in a version controlled project is still something that we want to address. It affects a variety of tools, so it's not a small thing to change, but it's perfectly logical to do away with this format. And it'll be something different than csv, for sure.

I've resorted to .gitattributes in the past to use tools that can actually suggest merges for xlsx.

Thanks for the input.

Sure, cubeide is beyond my control, although i can suggest "make it faster" :) Disabling the external loader is the logic thing to do here. Since we don't support external loaders for iar/keil, here it's easy since you have to use cubeprogrammer for e.g. qspi/ospi.

Thanks for the input!

What do you mean by "none of the solutions online". I've just tested 3 different application templates from the designer with CubeIDE and those worked fine.

Duplication of screens would be a nice feature i think, AND easy to do.

Better interoperability with outside design tools is a nice idea.

Any specific widgets you had in mind?

/Martin

Thanks for your reply Martin. This is probably not the right place to discuss this issue so I will start a new thread to share some screenshots of the errors I am getting. Hope you can help us resolve them.

MGatt.2
Associate II

Hi.

I have implemented a demo for a client using STM32H735-DK. For me, this is the first experience with graphic. I created the project starting from the touchgfx templates. All worked correctly!

But now I have to design the custom board with some differences from the demo-board (for example I will use the LQFP version instead of the TFBGA).

How to create the new project? I can't start from Touchgfx because it only includes pre-built templates. If I start from STM32CubeMX I have a hard time including touchgfx. In my opinion, there is no clear guide on the steps to take. Thank you.

Hi,

The online documentation will help you understand and guide you through the steps to follow to develop a TouchGFX project on a custom hardware. The process may be long but you can use the application templates as source of inspiration or help during this. Badreddine from ST made videos explaining how to customize application templates to add a different display for example which may help you. Another user made a nice video a while back as well which could be of interest to you.

Concerning the development you can also divide the tasks in two if you are not alone: one team working on the board bring up (so the MCU configuration through STM32CubeMX, setting all the drivers, enabling and setting TouchGFX generator...) and one team developing the UI (through TouchGFX Designer and user code). As long as you know the resolution of the display, which bpp you will have, the second team can develop the UI using the simulator instead of an application template in TouchGFX Designer. You will then use the import Gui option when the other team is finished and they have a working project running on the hardware.

As Romain was so kind to point out (thanks!) - I have made a video outlining the broad idea of a custom board design in my video (https://www.youtube.com/watch?v=SRQD8JMeg_k)

Subsequently there is another video describing the process of integrating the QSPI flash (about similar length).

there isn't that much of a difference between the packages. I started with the schematic for the dev-kit and just removed the stuff I didn't need while adding the things I did need.

My biggest cowboy-trick was to keep the clock lines for SDRAM, QSPI and display longer than all the other data lines: If the clock signal is the last one to arrive the data should be ready to go :D