Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I have a TouchGFX application where Flex Button text is sometimes being corrupted as are TextArea widgets (both with and without Wildcards). Images remain unaffected. The processor is a STM32U599, display type is RGB888 LTDC based and no external FLASH graphic storage is used.The corruption cannot be cleared with a processor hard reset, only power cycling clears it.From the attached image, the two 't' characters in the corrupted "Start" text are the same so it appears that a RAM based font bitmap cache is being corrupted. If so, any ideas where to find the name of this structure/buffer and is it managed exclusively by the TouchGFX library code?Thanks
Hi all, Can you please give me some pointers how to update the text and needle positions on the custom containers?I have a gui that has multiple images, exactly the same text and gauge positions. I created the custom container that has different text fields and one gauge.With single gauge and multiple text fields on the same view, I am successfully update these peripherals, but when I create multiple copies of the same custom containers I lost, and I don't know how to access the text fields and gauge's needle.For example:I created customContainer = 2 text fields and 1 gaugeIn then mainView I have customContainer1, customContainer2, customContainer3 and I don't know how to access those text fields and the the gauge.thank you for your time.
Hello, I have no problem storing images in the MCU's internal flash, but when storing images to external flash, it enters HardFault_Handler(). This issue only occurs when calling dynamicGraph Area image, while other images can be read normally. Why is this happening?thanks!
Hi ST Experts, Iam using STM32H745XIH6 microcontroller, I am unable to debug the dual - core in my application(getting an error - "failed in final launch sequence") when the image that I am using in touchgfx is placed in sdram memory using fmc(0xC0000000).And the dual core is running fine, when the same image is placed in the internal flash memory.I have configured the MPU, then I - Catche and also D - Catche. I am unable to identify the problem with the dual - core, when the image is placed in sdram memory.Thanks in advance...Shivani E
Hello all, i am looking for a solution for Parallel LCD with framebuffer in external sdram (using fmc) and capacitive touch with GT 911 on I2C is Touch GFX ready for that configuration ? i am kind of lost reading LVGL docs and touch GFX docs thank for help to start choosing
Hi folks,I am working with an STM32H745I-DISCO board and trying to run example projects as well as TouchGFX-generated applications.Board: STM32H745I-DISCOIDE: STM32CubeIDE (latest version)ST-LINK: Firmware updated to latest versionProgrammer: I can flash using STM32CubeProgrammer without issues (LED blink works fine)When I try to flash projects such as the LTDC_Display_1Layer (CM7) example or a TouchGFX application, I consistently encounter the following error in STM32CubeIDE (screenshot/log attached).What I have already tried:Full chip erase in STM32CubeProgrammerChecked Option Bytes (RDP = 0xAA, nDBANK set correctly, BOOT address = 0x08000000)Tried connect under reset in debug configUpdated ST-LINK firmwareVerified that CM7 project is selected (not CM4)Rebuilt/cleaned projectVerified that other small examples can flash correctlyCould you please guide me on what might be causing the flash operation to fail only for these larger / graphics-based projects, while simpler ones like LED bl
I would like to use a TouchGFX video widget on a STM32F469i DISCO board.I created a simple project in TouchGFX comprising the following widgets:Screen1:Video WidgetButtonWithLabel Widget.I associated the video widget with the TouchGFX example video "video1_480x272.avi"I know that the TouchGFX TBS for the STM32F469i DISCO does not directly support JPEG video decode, so I followed the TouchGFX documentation for Video Decode https://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-video-decodingI can program and run the target from within TouchGFX and compile then debug using STM32CubeIDE, so I am pretty sure that I have implemented the instructions to augment the TBS for STM32F469i DISCO correctly.The video will play but with horizontal lines across the screen.The video will only play with framebuffer strategy set to Double Buffered, when set to Single Buffered, the video will not load.I'm using SDRAM, so Start Address 1 is set to 0xC0000000. I have
I use STM32L431 to build a mainboard and LCD display, then develop the UI with touchGFX; From the button of mainboard to triggle and transfer to screw1.cpp, the number of textArea(picture:red 1 ) can increase when i press the buttom of mainboard, but number of textArea(picture:red2) can't any change and just display 00% with initial value; what was more, with the same code for the function of decrease, the function is ok that the number of textArea(picture :red2) can be visable and decrease when i pressed the buttom; remark: increased and decreased number of center textArea is devided into 2 textAreas; the function is fail and the top textArea is ok , but center textArea can't any change if pressed buttom, just list the initial value 0%void Screen1View::speed_level(uint8_t speed,uint8_t big_spd) // speed icon+ { Unicode::snprintf(speed_valueBuffer,SPEED_VALUE_SIZE,"%d",speed); // display top textArea speed_value.invalidate(); if(big_spd==1) // whe
Cordial greetings dear community.About a month ago I purchased a development pair stm32f746g-disco /mb1191c/dk32f746g$cu2 for a project in a development lab. I recommended this product because I have this same motherboard, but reference stm32f746g-disk /mb1191b and it has always worked very well for me. However, after being programmed the new board does not work correctly, I say this because nothing happens when navigating between the different windows, but the information that was programmed in the main window is correct and fluid.I am sharing some images of the card that belongs to me (green) and the screen purchased for the project in question (blue) for you to buy. the IDE version I'm working with is STM32CubeIDE 1.8.0 and TouchGFX 4.21.1Thank you, I am attentive to your comments.
Hi everyone,I’m working on a project with TouchGFX Designer and I’d like to deliver it to my client, but I don’t want them to have full access to everything in the project.Delivering only a .hex file is not enough in this case, because the client needs to have access to the TouchGFX interface to make modifications.What I’d like is to restrict their usage so they can only do certain actions such as:adding custom containersmoving objects around…but without giving them access to the full project or other advanced settings.Does TouchGFX offer any kind of limited interface / restricted mode for end-users? Or is there another way to lock or hide certain parts of the project while still allowing basic editing?Thanks in advance for your help!
I created a design file in TouchGFX with the following configuration:Portrait format LCDInterface: RGBDisplay Orientation: PortraitI would now like to use this design file with a different LCD that has the following specifications:Landscape format LCD (rotated 90 degrees to be used in portrait orientation)Interface: RGBBoth LCDs have the same resolution.Are there any specific settings I need to adjust in TouchGFX to make the design compatible with the new LCD?
Hi Everyone,I’m working with an STM32U575 and facing an issue when trying to use USB-PD (X-CUBE-TCPP) together with TouchGFX.In CubeMX, it does not allow enabling both X-CUBE-TCPP (USB-PD) and TouchGFX Generator at the same time. It shows a restriction that only one application can be selected.We are trying to implement USPD along with touchGFX on STM32U5757. We have implemented induvial and tested both are working well. But when we trying to merge them, then both are not running . We have seen in cubeMX that is not allow us to select both at same time, it says you can't use both at same time. Then we read the st community and found we can merge them manually . We tried to merge but after initialization of one other one hangs. Can you clear that is it possible to use both at same time in U575 MCU? Note- we are using free RTOSThanks & Regards,Rajkumar
Hi there, I am using and STM32F469-disco board and want it to communicate via SPI2 with a Battery Management System. When launching only the BMS task it runs perfectly, the communication is stable and I can read cell voltages and temperatures through SPI2 line. The thing is that when adding touch gfx task (uncommenting the initialize of the kernel) it runs the BMS task as well as Touch GFX task but the BMS task does not work correctly, it does not communicate with BMS. The same code, same task, but adding Touch GFX task creates a conflict that does not lend the SPI2 communicate with other devices. In theory, the pins for SPI2 (PB14 and PB15) are free of use. I also tried to disable interruptions when reading BMS in BMS task (__disable_irq()) but does not work neither.Could someone think of a solution, or testing to know where is the problem?Thank you very much!PD: I would say that both Cube and Touch are updated to last version.
I use STM32F469I-DISCO.I update TouchGFXDesigner4.25.0 to update my project.but screen setting is flip and differenet from before.How should I do to return to the original orientation?
Hi. i have a 743i eval board . and i've gone through the touch gfx examples (i'm not experierenced in c++ ) and i've found other examples ive worked though .. The project i'm on revolves around receiving CAN data and displaying on LCD and also touch screen button / external buttons that send messages back. i've taken my button press example (controllers tech adapted to my board) this turns the display backlight on and off - so i know i can have external control. i also have a a can example i've split in to a can.c can.h and added to the project (set up the interrups in cube ide and added the callbacks) .. but with breakpoints on the call back when i send a message nothing happends. After looking at webinars etc.. i'm guessing the rtos has got to schedule stuff so i may have to go back a step or 2 and re-look at those. but can't find the code to look at from the ST webinar - had display turning on external led and doing animation from a button . if anyone can shed light or o
Hi,We have a STM32H7B3 which uses TouchGFX (4.25.0) for GUI with external flash for storing images, texts, fonts etc. The storing and reding of images, text, fonts from external flash works fine for us in our current product. In a new design we want the code generated by TouchGFX to also be stored on external flash and be XIP from external flash. How can I make TocuhGFX map the code that it generates to external flash. There is a lot of code that gets generated and manually using the __attribute__((section("ExtFlashSection"))) for each function is not possible. Please help how this can be achieved with TouchGFX software.Regards,Devanshu Agarwal
It is compiled with AC6.24 in MDK 5.43.run on NUCLEO-H7A3ZI-Q.But it cannot run.compiling is ok. The programme compiled with stm32cubeIDE is not problem.It can run perfectly.The project is attached blow.
Hi Everyone,I'm trying to install TouchGFX Designer (v4.25.0) but I keep getting this error during setup:“TouchGFX Setup Error writing to file: C:\TouchGFX\4.25.0\designer\TouchGFXDesigner-4.25.0.exe. Verify that you have access to that directory.”I've already installed the following STM32 tools:STM32CubeMX: C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMXSTM32CubeProgrammer: C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammerSTM32CubeIDE: C:\ST\STM32CubeIDE_1.19.0\STM32CubeIDEI’m running the .msi installer for TouchGFX Designer, and the error appears consistently. I’ve followed both:How to TouchGFX: Installing TouchGFX Designer for STM32 GUI applications on installing TouchGFX Designer for STM32 GUI applicationshttps://support.touchgfx.com/docs/getting-started/installationMy installation directory is: C:\TouchGFXI’ve checked permissions and tried running the installer as administrator, but no luck so far. Has anyone encountered this issue or found a workaround?T
Hello,I drived lcd by using partial frame buffer. Now, I am trying to update it with double buffer strategy. The LCD has TE pin that helps checking Vsync.I could not find a clear example for double buffering method. I don't need FMC since internal ram is enough for driving.Do you have any example or steps that I need to follow for those specs:Touchgfx with double buffer + FreeRTOS (CMSIS V2) + SPI LCD (With TE pin) Touchgfx Version : 4.25.0CubeIde Version : 1.17.0MCU : H7 seriesBest regards,Faruk
Hi all,I would like to create a custom slider with 2 indicators of the lock when they lock vs. unlock and 2 background image text with Lock and Unlock texts.I similar like a toggle button, but it actions like a slider; once it goes to the left is locked and right is unlocked.Is there anyway I can achieve this? Thank you.
Hello,I am currently using the STM32H7S78-DK development board. I would like to run TouchGFX together with ThreadX (Azure RTOS).Specifically, I would like to know:How to configure the project in STM32CubeMX to enable both TouchGFX and ThreadX.How to properly set up the system tick / timebase so that ThreadX and TouchGFX can work together without conflicts.Whether there is a simple example or reference project available for STM32H7S78-DK showing TouchGFX running under ThreadX.A step-by-step tutorial or minimal example project would be very helpful.Thank you in advance!
I want to use TouchGFX Designer in a Project for which no .ioc file exists, but generating code in the Designer fails because of the missing .ioc file.Is it possible to work around this? If I need to use a dummy .ioc file, which settings are relevant for the Designer?
I'm using a coloured box as a background for some dynamic text. I would like the background to match the width of the text when it changes.I can change the width of the box to match the text width, but the box's fill colour will not fill to match the new box width.This is the code I'm using.memset(&textValueBuffer, 0, sizeof(textValueBuffer)); Unicode::fromUTF8((const uint8_t*)it->second.data(), textValueBuffer, it->second.length()); textValue.resizeToCurrentText(); textValue.invalidate(); box1.setWidth(textValue.getWidth()); box1.invalidate(); Is this possible in TouchGFX?
Hi all,I am looking for an advice to how-to sync the back-end signal and the toggle button.For example toggle button by default is OFF, Signal output Low.Clicked button, the button state = ON, Signal output High.View still display the button is ON.Due to some error condition, the signal output is turned off to Low. The View still show button is ON. How can I turn the toggle button to OFF in View in this case?Thank you
We are implementing a software-driven OTA update system using TouchGFX and a 64MB external QSPI flash. We store the following asset sections in QSPI:ExtFlashSectionFontFlashSectionTextFlashSectionThese are bundled into an ExternalFlash.bin asset file, which should be shared between firmware partitions (A/B). Since the data contains only static assets, it must remain bank-independent for OTA to work properly. Problem:In the generated TypedTextDatabase.cpp, the following array is incorrectly marked with TEXT_LOCATION_FLASH_ATTRIBUTE:TEXT_LOCATION_FLASH_PRAGMA const touchgfx::TypedText::TypedTextData* const typedTextDatabaseArray[] TEXT_LOCATION_FLASH_ATTRIBUTE = { typedText_database_GB, typedText_database_ESP };This array is placed into TextFlashSection, which is part of ExternalFlash.bin. However, the array contains pointers to other flash-resident data (typedText_database_GB, etc.), which are already placed correctly in TextFlashSection.Storing the array itself in flash causes a
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.