cancel
Showing results for 
Search instead for 
Did you mean: 

Zephyr and TouchGFX?

Jazman
Associate III

So, have been using TouchGFX and FreeRTOS with the CubeIDE.  But, am looking into Zephyr because of the middleware (for things like networking including WiFi) it can pull in.  But I'm still going to need a GUI.

Is anyone successfully using TouchGFX with Zephyr?  How painful was that to integrate?

Should I be looking at something else besides TouchGFX for GUI design?  Key features for me are the Windows WYSIWYG design and simulation capabilities; Code generation; Built-in widgets (although I wish there were more).

I've considered Qt but still think TouchGFX is a better choice provided you're using ST.

Thanks in advance for the insight.
Keith

5 REPLIES 5

Hello @Jazman ,

Yes, it is possible to use the operating system of your choice with TouchGFX as long as you are using STMicroelectronics MCUs. I can see that Zephyr provides CMSIS RTOS which makes the usage of TouchGFX way easier. 

You can start from one of the available TouchGFX Board Setups (the one that matches your board) and provide similar configurations used for that operating system (generally, it is FreeRTOS). 
I will link some related documentations about the operating systems below that might help you:

Setting up Real-Time Operating Systems 

Functionalities that TouchGFX need from the OS 

How TouchGFX uses an operating system 

 

I hope this helps you, don't hesitate to ask more questions

Mohammad MORADI
ST Software Developer | TouchGFX
Sarra.S
ST Employee

Hello @Jazman

I didn't personally integrate TouchGFX with Zephyr, I'll let the community members share their feedback

I would theoretically say, that you need to create a Zephyr module for TouchGFX 

Create a directory for the TouchGFX module under zephyr/modules

Write a CMakeLists.txt file to define build settings for the TouchGFX library

Define module metadata in a module.yml file

Also, you'll need to implement the diplay driver controller using Zephyr's display API found in zephyr/include/drivers/display.h

Also, some HAL adaptation, modifying TouchGFX HAL implementation to use Zephyr hardware abstraction APIs

I think this link is very useful once you start the heavy work: zephyrproject-rtos/zephyr · Discussions · GitHub

Edit: Thanks @Mohammad MORADI ESFAHANIASL for your valuable inputs on the TouchGFX part 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hello @Jazman ,

Have you made any progress on this topic?

 

Mohammad MORADI
ST Software Developer | TouchGFX
Jazman
Associate III

I've only started scratching the surface on Zephyr.  TouchGFX I know pretty well and am comfortable with.  But I'm a Zephyr newbie.  I've got a 747 DISCO board that has a Zephyr configuration and have just started to try to understand the ins and outs of Zephyr.  Specifically, my concerns are around the learning curve to customize it for my production board.  Zephyr provides a lot of stuff but because it is so configurable, it also provides a ton of baggage.

I suspect that trying to use TouchGFX with it will be a ton of baggage all by itself given that there wasn't much of a response indicating successful integration of the two.  My current investigation of this is feasibility for a future design starting in earnest at the end of the summer.  At this point, I'm not sure where I'll end up.

Keith

Yes, I understand the difficulties.

But considering your question, do you think you can select an accepted solution?

Mohammad MORADI
ST Software Developer | TouchGFX