Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
How to properly regenerate code in a TouchGFX example demo code.Hi,I'm here to pose some questions about how to correctly re-generate the code of a TouchGFX demo projectfollowing some changes regarding, for example, the FreeRTOS configuration that is used in the demo.I was able to compile and run a demo project for a STM32H7474I Disco board using STM32CubeIDE(version 1.13.0).Now what I need is to add to the rest of the demo's code also a library whose code uses newlib'smalloc/free() function. To do this at the moment I put its source directory under the Middlewarefolder of the demo project and imported it via STM32CUbeIDE; after that I properly added library'sinclude path in the demo project C settings.When I recompiled the resulting project, the make tool failed to build the application because ofa missing _REENT symbol when it tried to compile the cmsis_os2.c file coming from FreeRTOS package.The first header file it includes is <string.h>, and when it does that, it complains t
i am getting this issue Error: No debug probe detected.c:/Users/gaura/Documents/screentest/MyApplication_5/gcc/include/flash_sections_int_ext.mk:2: recipe for target '_extflash_' failedmake[1]: *** [_extflash_] Error 1../gcc/Makefile:47: recipe for target 'flash' failedmake: *** [flash] Error 2Failed
So, ST is fixing one bug by creating another one. But lets start at the begin.The good thing is that on TouchGFX version 4.22.0 is finally possible to generate TouchGFXGeneratedHAL.cpp without error if LCD is connected through FMC from CubeIDE.The bad thing is that 4.22.0 is during generation of code in TouchGFX i get an error "simulator/gcc/Makefile:32: recipe for target 'assets' failed" .Found anyone solution for it?Many thanks
HI ,I have one requirement, i.e I need to implement animation using touchGFX tool. I have 7 images as part animation each image has to change in different interval. challenge here is below each image there is one more image which indicates the progress of animation. meaning I have image below that image there is dot(.) image. it's like Bold dot and normal dot (. .). as above image changes below dot image (bold dot) also must change. basically, image and bold dot has to change at same instant.I tried my best but there is always some lag between main image and dot image. could anybody help me that how can i synchronise this so that user can feel both main image and dot change at same instant(meaning at same time)Regrds,jsalg
Hi allI must create an display indicator with Gauge that simulating a mechanic indicator, with inertia.I try at active animation but not see difference.There is some setting for have this effect ?Thank
Hello everyone,Could you provide an example of using cached containers?In the TouchGfx documentation, the subject is described very superficially, while I think it is very important to deepen it it would be sufficient to have the code of this example available: https://vimeo.com/365563335Best regards.Domenico
Vorrei sottoporre un problema che sto riscontrando su una scheda personalizzata basata su STM32H745BIT6 che utilizza l'interfaccia RGB565 e un display di grandi dimensioni (1024x768).Quando carico il progetto (modalità DEBUG) da STM32CubeIDE(1.12.1) e gui disegnata con TouchGFX (4.21.3) tutto sembra funzionare correttamente, sia le immagini sia i tasti o altri componenti sono visualizzati correttamente.Se però spengo la scheda e la riaccendo le immagibi non sono piu visualizzate correttamente, utilizzo un doppio framebuffer (stesso comportamento anche con singolo).Posso fornire altri dettagli se necessario.Qualche suggerimento? Grazie
Hello! I have a following problem: I use Designer to generate some screens, and some screens I create without designer. When I create a custom screen (not the screen that I draw in designer) I create two folders:include/gui/my_screen (with myView.hpp and myPresenter.hpp in it)src/my_screen (with myView.cpp and myPresenter.cpp in it)the project builds ok in STM32CubeIDE.but then if I run simulator or code generation in the Designer myPresenter.cpp and myPresenter.hpp are removed. Why? How can I avoid it?Thank you.
Dear communityI'm searching for a solution to have a common status bar (with a battery indicator, that is updated through the model) on all screens. I'm imagining a solution, where I can add a inheritance to the view of a screen (like in Solved: Example: Grouping of Views with Common Functionali... - STMicroelectronics Community), but not touching the generated files of TouchGFX. Is there a common way to do it?Thanks in advance :)
Hi everyone,reading the official TouchGFX documentation, in the section "Backend Communication->example",ST people say that there are examples for STM32F746G Discovery Kit that explains in detailshow to interact between TouchGFX thread and other threads via intertask communication.I installed the latest TouchGFX Designer package (4.22.0) where they say that the mentionedexample can be found into folder Demos -> Board Specific Demo, but I have not found it.Can someone tell me the packages or the tools where I can find those examples?Thanks in advance to everyone will help me.
Hi, Im new to Touchgfx and came to a problem following the tutorial 4.When I run the simulation it shows declaration error.gui/include/gui/containers/MenuElement.hpp:19:4: error: 'icon' was not declared in this scopeI tried following the hpp from slider examples, but it seems to implement it differently to the tutorial.Any suggestions on how to fix this?Thank you
I use CubeIDE 1.9.0MCU packate STM32H7 V1.10.0My project generates separate files for each hardware. In this case "dcmi.c" and "dcmi.h"DCMI is set to Slave 10 bits External SynchroI use DCMI_PSSI DMA1 Stream 2 Perpheral to MemoryCubeIDE generates following lines in HAL_DCMI_MspInit __HAL_LINKDMA(dcmiHandle,hdmarx,hdma_dcmi_pssi); __HAL_LINKDMA(dcmiHandle,hdmatx,hdma_dcmi_pssi);Both of these lines fail with ../Core/Src/dcmi.c:161:5: note: in expansion of macro '__HAL_LINKDMA' 161 | __HAL_LINKDMA(dcmiHandle,hdmarx,hdma_dcmi_pssi); | ^~~~~~~~~~~~~ ../Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h:65:43: error: 'DCMI_HandleTypeDef' {aka 'struct __DCMI_HandleTypeDef'} has no member named 'hdmatx' 65 | (__HANDLE__)->__PPP_DMA_FIELD__ = &(__DMA_HANDLE__); \What is the correct way of handling this?For now, I just comment these lines out. DMA seems to work...dcmi.c /* Several peripheral DMA handle pointers point to the same DMA handle. Be aware that there
I am facing performance issues on several PC's I use to work with TouchGFX.Time to start simulation for an example project (dice) is several minutes. A comparison with a private owned PC shows that the same project can be simulated in 27s, so I started to look for reasons of this performance issue.In the known Issues section of the documentation is the following point listed:LOGONSERVER environment variableWe have observed on a few computers that the TouchGFX is very slow (e.g. "Run simulator" does nothing for 30 seconds). It may help to set the environment variable LOGONSERVER to an empty value. In bash, the command is:export LOGONSERVER=Can someone tell me how to work with this environment variable on a windows PC? When I tried to check if this variable is available in CMD, I just get the information that no variable with that name exists
This is one of the big features in 4.12 according to the release notes. How is it enabled/controlled/configured?Any example code? How about just the source code for this:https://vimeo.com/365563335Secondary question: What improvements, enhancements are in the 4.13 version?Thanks!Bob
HiWhile we are developping the firmware for our project, we have another team working on the UI design using TouchGFX Designer. Is there a way for them to monitor the external flash memory consumption as they go along without the need for the IDE's build analyzer?Thanks
Hello,I made some test to realize a scrolling text, to do it I use :This information and This template Here my container code.cpp : #include <gui/containers/Cont_Rolling_Text.hpp> Cont_Rolling_Text::Cont_Rolling_Text(): TextMoveAnimationEndedCallback(this, &Cont_Rolling_Text::TextMoveAnimationEndedHandler) { /* setup animation */ textArea1.startMoveAnimation(-textArea1.getWidth(), -8, 400, &EasingEquations::linearEaseNone); textArea1.setMoveAnimationEndedAction(TextMoveAnimationEndedCallback); } void Cont_Rolling_Text::TextMoveAnimationEndedHandler(const touchgfx::MoveAnimator<TextAreaWithOneWildcard>& b) { /* reset it's position */ textArea1.moveTo(0,-8); /* reset animation */ textArea1.startMoveAnimation(-textArea1.getWidth(), -8, 500, &EasingEquations::linearEaseNone); textArea1.setMoveAnimationEndedAction(TextMoveAnimationEndedCallback); } void Cont_Rolling_Text::initialize() { Cont_Rolling_TextBase::initialize()
I am currently working on the STM32H750VB custom board where 16 bpp RGB LCD Interface is used. After sending the data for couple of times successfully on the LCD screen, it stops displaying the data. On debugging, I found out that it gets stuck on configASSERT( pxQueue->uxItemSize == 0 ) called from xQueueSemaphoreTake(). As I am new to freertos and TouchGFX, can you please provide me the insight to find the root cause?
Hey all, experienced developer but new to ST ecosystem.I have a STM32H7B3I-EVAL board and made my first project using TouchGFX Designer 4.21.4. I put on a Dynamic Graph and a few Text Areas with wildcards, and coded up some random data to try it out. Sporadically, I'd see the UI hang. I was able to catch it with a debugger and found it deadlocked with this stacktrace:Thread #2 [TouchGFXTask] 604023232 (RUNNING) (Suspended : Breakpoint) touchgfx::OSWrappers::takeFrameBufferSemaphore() at OSWrappers.cpp:72 0x800186a touchgfx::HAL::lockFrameBuffer() at 0x8010c06 touchgfx::HAL::lockFrameBufferForRenderingMethod() at 0x8010c3a touchgfx::Canvas::render() at 0x8024c82 touchgfx::GraphElementLine::drawCanvasWidget(touchgfx::Rect const&) const
Currently, i am working on TouchGfx.But my code gets stuck in the first execution of MX_TouchGFX_Process. I use external RAM and Waveshare 7-inch TFT display.@Piranha Could please help me to resolve the issue?
Hello,I'm programming the STM32U5A9JDK with a C project including TouchGFX.While debugging in STM32CubeIDE, I got this issue:If I pause the debug session after the TouchGFX init, I wait about one minute and the debug session crash: the board does no more communicate and the console print "Target is not responding, retrying". I have to stop the debug session and reconnect the board to restart the debugging.I only got this issue when TouchGFX init is added in my project and I checked in the register window that watchdog timers are stop in debug mode.I don't see what's going on with my TouchGFX init, can I get help on this?Thanks,Thomas
Hi Guys,So this is with a TouchGfx Cube v6.7.0 generated project with FW 1.11.0I have added OpenAmp via Cube and based the code I am adding on the old PingPong example.The following line fails with -2005 (RPMSG_ERR_BUFF_SIZE):int32_t status = OPENAMP_create_endpoint(&rp_endpoint, RPMSG_SERVICE_NAME, RPMSG_ADDR_ANY, rpmsg_recv_callback, NULL);This is due to the metal_io_region being incorrect, physmap as far as I can see should be 0 but it is 939525120 (0x38000400).This first image is the values in the working PingPong example: The second image is in the non working code: This can be tracked down to OPENAMP_shmem_init() in openamp.c.In the working PingPong example openamp.c is from 2019 and we have:static metal_phys_addr_t shm_physmap[] = { 0 }; . . . metal_io_init(&device->regions[0], (void *)SHM_START_ADDRESS, shm_physmap, SHM_SIZE, -1U, 0, NULL); shm_io = metal_device_io_region(device, 0);The openamp.c from the cube project is from 2023 and in there we
I am using Touchgfx in conjunction with the STM32H745XIH6 board and whenever I create a touchgfx project, the first thing I do is, open the .ioc file in CubeIDE and then disable RTOS from the CubeMX. Then I save and try to compile but I get an error. The issue is because of the CMSIS folder that still exists in the workspace. So then I delete the CMSIS folder and it compiles successfully. Now I want to also disable QuadSPI and FMC in the CubeMX but when I go back to compiling I get a bunch of errors, like 200 of them. My guess is again it's due to the existence of files that are not needed anymore but I do not know which one to delete! Can someone help with that?Moreover if I add UART functionality in CubeMX, the stm32h7xx_hal_uart.c is not added under the STM32H7xx_HAL_Driver folder of the project, so I have to add it manually somehow by copying it from another project and pasting it here. Please fix this issue with CubeMX not updating the file project!A suggestion for the future deve
Using the STM32H7 Discovery kit for STM32H747 MCU, we purchased the recommended accessory B-LCDAD-HDMI1 adapter to test HDMI displays. We have tried multiple displays in 800 to 1024 resolution range, as well as standard dell desktop monitors with HDMI input (hoping the auto-sync capability would detect the right signal). But we are unable to display anything on these displays or monitors. On some displays, we did notice some faint flashes when first connecting the display but no picture of any sort. Our understanding is that this MCU supports display to XGA(1024RGB*768) resolution, even though the Kit is 800x480.1) Can you provide some documentation on how to use this adapter with this kit? 2) Are there recommended displays that will work XGA out-of-the box with the HDMI adapter?3) The DSI connector on the Kit board supports multiple channels. Is it ready to connect 2 monitors? Can you provide some documentation on how to make two monitors work with the onboard connector?
I'm using B-LCDAD-HDMI1 DSI to HDMI adaptor on the STM32H757IEVAL, but the display (7'' 1024x600) keep showing "No Signal" message. Can someone point how to use this adaptor, or give me example code on how to use the adaptor with TouchGFX on STM32H757EVAL? Reading the B-LCDAD-HDMI1 datasheet and user manual i've found nothing that explains how to program the device or make it work.Please help
Hello friend!Im working on TouchGFX GUI. Recently i have started learning thiis software using Diffrent diffrernt tutorials available online.so i have configured FMC, I2C, Quad SPI, DMA2D and LTDC for STM32F746IGTx Controller according to the Data sheet of my touch Display.After configuring every thing in CubeMx i added simple background and one Flex Button in TouchGFX and through that button im calling LED Blink function.so when i done my actual coding and dumped the code into my controller its showing only my button and instead of background image its showing me a flicking background.But im able to touch the button and through that LED is also getting toggeled.i have uploaded my project files below. please check it and guid me how i should get GUI properly on Touch Display..?FMC config:QUADSPI:DMA2D:LTDC Parameters:LTDC Layer:TouhGFX settings: CLOCK settings:
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.