2025-06-08 10:58 PM - last edited on 2025-06-11 5:03 AM by Andrew Neil
We are facing a technical issue creating a TouchGFX project. We suspect it is an inherent issue with ST’s toolchain —STM32CubeMX and TouchGFX—when used with the official STM32H757 Eval Kit.
Issue at Quick Glance:
1. Enabling LTDC in STM32CubeMX automatically enables DSI, even when we intend to use only RGB888 via CN20 (as in our custom display board with 10.1inch Winstar WF101JTYAHLNB0#).
2. This causes build failures and prevents TouchGFX Designer from generating any GUI code, despite the project being valid and configured as per ST training examples.
3. We’ve attempted all known workarounds, including patching headers and ensuring paths/configs are correct—yet the issue persists.
We kindly request:
1. Resolution on how to disable DSI cleanly while keeping CubeMX and TouchGFX code generation functional.
2. Clarification on internal tool dependencies between LTDC and DSI, and how to bypass them for RGB-only use cases.
3. A reference TouchGFX project using only RGB+LTDC (via CN20) for STM32H757 Eval Kit.
This is a time-sensitive issue. We’re happy to provide our .ioc, test project zip if needed for detailed analysis and support.
We look forward to your expert guidance.
2025-06-11 4:28 AM
Hello @vijay29489 ,
On their website, on the product page, Winstar advertise its display with TouchGFX, perhaps you should reach out to them to see how they intend you to use the display? Maybe there is good information on their documentation too?
1)
The display you want to use in a TFT LCD display, so LTDC is what you need. Why do you want to only use DSI and not LTDC?
2)
You say that it prevents code generation even if the project is valid, but it is probably because the project is not valid that TouchGFX (and STM32CubeMX?) refuse to generate code.
1)
You can disable DSI through STM32CubeMX and generate code through STM32CubeMX but then the TouchGFX project won't work anymore as there won't be a way to control the screen.
Therefore, what you want to do is to disable whatever screen control you have enabled and enable another screen control. But in your case, you need LTDC for the TFT CLD Winstar display I think.
2)
DSI is required for MIPI DSI displays, in that case, LTDC takes care of pixel data and synchronization and DSI Host act as a bridge between DSI and LTDC.
Can you tell me what steps you took to try and make your STM32H757 eval board work with the Winstar display?
Sharing your ioc file could help aswell.
Regards,
2025-06-11 4:52 AM
Hi Gaetan Godart,
Thanks again for your reply and for continuing to support this.
Just to clarify — we are not using DSI in our setup. The display we’re working with (Winstar WF101JTYAHLNB0#) is an RGB888 TFT panel connected via CN20 on the STM32H757 Eval Kit. We are using LTDC only.
The issue we’re facing is that when we enable the LTDC peripheral, the DSIHOST is automatically selected for the CM7 core. This causes the DSI to be defined at line 30 instm32h7xx_hal_ltdc_ex.h, which in turn includes stm32h7xx_hal_dsi.h at line 32. As a result, our code fails to compile. On top of that, TouchGFX Designer refuses to generate GUI code because of this.
We’ve tried several workarounds — disabling DSI in CubeMX, manually removing DSI config from the generated code, patching the HAL files — but they either get overwritten or cause other toolchain issues.
As requested, I’ve attached our 'Test_RGB.ioc' file for your reference. The project is configured for LTDC + RGB888 only (no DSI), and you can recreate it in STM32CubeMX directly using this file.
Could you please help us understand how to cleanly use LTDC without DSI in this case? Is this a known issue with CubeMX or TouchGFX integration? And is there any working example project for STM32H757 Eval Kit using just LTDC and RGB?
Appreciate your help on this — we’re on a tight timeline and would really value your guidance to get past this blocker.
Best regards,
Vijaykumar Vishwakarma
Senior Manager, Technical Architect- Firmware
Syrma Johari Medtech Ltd
Attachment: Test_RGB.ioc
2025-06-12 5:12 AM
Hello @vijay29489 ,
The ioc file you shared is for STM32H747, not STM32H757 :
When enabling LTDC, you have to select the pixel format. You can choose "RGB888" or "RGB888 for DSI".
When switching from one to another you see that your LTDC configuration changes. So just stay with "RGB888" (not DSI) even if it keep DSI enabled.
The ioc you shared also have other issues such as wrong start and stop value or double layer even if TouchGFX only support single layer.
It is not recommended to change the generated code as it will be re-generated if you change the STM32CubeMX setup.
By not changing the code you should be able to build and flash (perhaps with a wrong behavior but it should build and flash).
Can you explain to me why you want to disable DSI? Is it because you want to use the pins used by DSI?
Also, can you explain to me how the Winstar display must be controlled? I see on the product page "UART" which is unusual to me.
Regards,