2024-05-15 02:37 PM
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
2024-05-16 02:52 AM
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
2024-05-16 03:00 AM - edited 2024-05-16 03:06 AM
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.
2024-06-19 03:29 AM
Hello @Jazman ,
Have you made any progress on this topic?
2024-06-19 10:27 AM
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
2024-06-21 03:10 AM
Yes, I understand the difficulties.
But considering your question, do you think you can select an accepted solution?
2024-10-17 02:01 PM
Thanks for the links.
I am looking to do that in a near future as the TS application is currently being created with touchGFX.
Exchanging with ST from time to time. I understood that you have not really started with Zephyr.
Thanks in advance for any insight.
2024-10-18 01:45 AM
Hello @thecoach,
ST started contribution in Zephyr since 2016, through Linaro, and now, is a silver member of zephyr project, with +140 boards supported and dealing with daily pull requests/ support use cases: https://github.com/zephyrproject-rtos/zephyr/labels/platform%3A%20STM32
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.