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

2 REPLIES 2

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.