Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I have a working touch GFX project. I want to break out the individual peripheral initializations, so I open the ioc file in cubeMX and Check to Generate peripheral initializations as a pair of '.c/.h' ... in the Project manager.The code builds, but when I debug it immediately goes to hard fault before is gets thru MPU_ConfigI created another touchGFX project the only has one screen and only loads a background. After verifying that it runs I tried to Generate peripheral initializations as a pair of '.c/.h' . and this will not build because non of the peripherals .h files were created (crc.h, dma2d.h etc..) How can I create a touchGFX project without having all the peripherals in main.c?
TouchGFX designer 4.24.0 is new installed in my laptop which is Win11. I used the Clock Example to create a project, and reported an error. The log is attached.I also created a new project by simulator. I put a button and run the simulator. It was fail. The log is attached too.Did I miss something to install?
Hello Gang.I have STM32U5G9J-DK2 discovery kit.Latest software, TouchGFX and ...CubeI am NOOB and may be do something wrong but I do not see any mistakes from my side.I did small test project in the TouchGFXBut after uploading it to the kit I got : I did something wrong??? Thank U :)
Hey,I am trying out the new RGB image compression in TGFX 4.24 and are having some issues. My program compiles fine without any compression.I have only turned the feature on in TouchGFX Designer and generated code. Is there something else I am missing? It does no seem like it after reading the documentation.This is the resulting stack MemManage_Handler() at stm32h7xx_it.c:112 0x2dc <signal handler called>() at 0xffffffed touchgfx::LCD32bpp::DecompressorRGB_QOI::blitCopyARGB8888() at 0x9015c560 touchgfx::LCD32bpp::drawPartialBitmap() at 0x9015d9da touchgfx::Image::draw() at Image.cpp:37 0x90027090 touchgfx::Screen::JSMOC() at 0x901556ec touchgfx::Screen::JSMOC() at 0x90155696 touchgfx::Screen::JSMOC() at 0x90155696 ...Edit: I am using external flash
Generating Code / Run Simulator / Program and Run Target (F4 / F5 / F6) commands fail.Output: which means "command not found" or "is not recognized as an internal or external command,operable program or batch file." in english.The funny thing is, that when the build commands are started from the MINGW envrionment, it works.But thanks to several days of digging and comparison to an other machine where it works, I was finally able to find the culprit: on the broken machine, I had a directory with an "&" in the path envrionment variable (thanks to my company's name "... GmbH & Co KG"). This directory is totally unrelated to ST stuff but nevertheless breaks building from within TouchGFX Designer (and also from tgfx.exe). Short term solution until bugfix: make sure no "&" lingers in your PATH variable!
I executed "Clock Example" on stm32H747I DISCO. I found that after two minutes of execution, the analog clock was about 15 seconds slower. After 53 minutes of execution, it was about 5 minutes slower, and it will become slower and slower. I did not add any The program code is in the M7 core. The way I compare is to enable RTC and uart in the M4 core, use the HAL_RTC_GetTime() function to read out the rtc time every second, and print it out through the uart. My question is, If the analog clock really slows down, is there any way I can correct it without users noticing?
Hello friends!Im devloping GUI using TouchGFX on waveshare OpenH7XXI-C board. When im flashing the code. GUI image is getting splitted from middel.Touchgfx GUI:LCD output
Is there a recommended RAM address for placing the framebuffer on the STM32H563? I just picked out 0x20040000 but wondered if I should just put it at the beginning address (0x20000000), wasn't sure what is recommended.
I cannot get scrollWheelUpdateItem callback to fire when the scrollWheel is moved. void Button1MenuView::scrollWheelUpdateItem(MenuElement& item, int16_t itemIndex) { // Override and implement this function in Button1Menu item.setNumber(itemIndex); } scrollWheelUpdateItem only gets called once in Button1MenuView.cpp prior to setupScreen: void Button1MenuView::setupScreen() { Button1MenuViewBase::setupScreen(); for (int i = 0; i < scrollWheelListItems.getNumberOfDrawables(); i++) { scrollWheel.itemChanged(i); scrollWheelListItems[i].updateText(i); } } I assume it should get called whenever the scroll wheel is touched? Or do I need to set up a different callback? My Container for scrollWheel is MenuElement.cpp: #include <gui/containers/MenuElement.hpp> #include <texts/TextKeysAndLanguages.hpp> MenuElement::MenuElement() { } void MenuElement::initialize() { MenuElementBase::initialize(); } void MenuElement
Hi Everyone, Happy New Year.I have started working on this project and till now i have added 5 screens in the touchgfx, from touchgfx side the project is running fine on the simulator but it is not getting builded on the cubeIDE. I am running out flash memory.so please help me how to resolve this issue.C:/ST/STM32CubeIDE_1.16.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: STM32H503RB-NUCLEO-GFX01M2.elf section `.rodata' will not fit in region `FLASH'C:/ST/STM32CubeIDE_1.16.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 1512 bytescollect2.exe: error: ld returned 1 exit statusmake: *** [makefile:98: STM32H503RB-NUCLEO-GFX01M2.elf] Error 1"make -j4 all" terminat
I started to getting this error from touchgfx after I added an Event throught CubeMX. As you can see from the messages, this is exactly what the errors are about.Compiling Core/Src/main.cLinking TouchGFX/build/bin/target.elfTouchGFX/build/STM32F429IDISCO/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o: In function `osEventFlagsNew':d:\ST\Projects\GameSnake/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:1135: undefined reference to `xEventGroupCreateStatic'd:\ST\Projects\GameSnake/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.c:1141: undefined reference to `xEventGroupCreate'collect2.exe: error: ld returned 1 exit statusgcc/Makefile:298: recipe for target 'TouchGFX/build/bin/target.elf' failedmake[2]: *** [TouchGFX/build/bin/target.elf] Error 1gcc/Makefile:294: recipe for target 'generate_assets' failedmake[1]: *** [generate_assets] Error 2../gcc/Makefile:50: recipe for target 'all' failedmake: *** [all] Error 2Failed
Hi, I have been trying to implement the functionality to change the currently active screen on TouchGFX using a hardware button with no luck so far. I'm using an STM32H743zit6. Here are the resources I've looked at but haven't managed to get working: https://www.youtube.com/watch?v=ufvJ5bcesL8 https://www.youtube.com/watch?v=QgEDSjvGAlk https://support.touchgfx.com/docs/development/scenarios/example-gpio https://support.touchgfx.com/docs/development/board-bring-up/how-to/10-physical-buttons https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/screen-transitions https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/hardware-button/td-p/640357 Any help would be greatly appreciated, Thanks.
Hi guys.I've been trying to work hardware video decoding for a few days but it doesn't work. Latest situation is as follows:I think I made all the settings correctly.1- Enable JPEG.2- Enable MDMA channel 6 and 7 for JPEG output fifo - input fifo.3- Enable NVIC.4- Add videotask in RTOS.5- Enable hardware decode.6- Select video decoding strategy ==> double buffer.7- Add linker code in to STM32H7B3LIHXQ_FLASH.ld for Video_RGB_Buffer.Thats all.But video decoding only works in software direct to framebuffer mode and 480x272 resolution. It doesn't work hardware decoding.Do you have any ideas for this?
Hi, how exactly is the cortex_m7/gcc/libtouchgfx-float-abi-hard.a built (i.e compile and link options)?For example if a make a object dump on the lib I get:touchgfx::muldiv(long, long, long)But the header file use int32_t instead of long and that gives a link error.undefined reference to `touchgfx::muldiv(int, int, int) If I change the header file to use long instead it builds.
Hi,How to sync progress indicator of a progress bar when you dont know the time period for which the progress bar should be displayed?I mean how do we divide the progress indicator to an unknown time period?Thanks
I can't get my display to work after I enabled the uSD card on my STM32F469I-DISCO, it just sits at a black screen. When I ran the debugger, this is the call stack it shows, stuck on _exit() in syscalls.c:Is there an easy way to determine what conflict is happening when I add my uSD card? Full disclosure: using TouchGFX to generate this project file in STM32CubeIDE.
When trying to import simplified Chinese characters using an excel sheet, the xml database doesn't receive any input. When renaming the English column to the Chinese identifier, it does import the text assets. Is this an issue in the translations.rb script?When copying the Chinese text from within the excel sheet to TouchGFX Designer, the text does appear, but this is quite labour intensive
I am using TouchGFX Designer standalone and can build and simulate my project ok, but Program and Run Target fails with 'recipe for target '_extflash_' failed' even though STM32CubeProgrammer is connected to the STM32F7508-DK board that I am using. What am I missing please?
Hi all. I'm having trouble with the following function. My TouchGFX guihas two radio button groups, each with three radio buttons.The first selects between three different wire gauges, awg42, awg43 and awg44.The second set selects between the resistance values of each of the wire gauges.For each wire gauge, I have three resistance values, min, nom and max toaccount for variance in the actual wire resistance in a real-world situation.Obviously, resistance is based on a variety of external factors.I have a single TextArea on the screen to which I want to print the decimalvalue of the selected resistance.So for example, I want to select a wire gauge of awg42 with a nominal resistance valueor, select a wire gauge of awg43 with a minimal resistance value and have the screenupdate with the result.So far, this is not happening. The TextArea is updated with the format specifier, notthe resistance value. I have tried snprintf alternatives but without success.I'm using a typedef struct to hold a
Originally a reply here (solved), but split to a separate thread as it is a new question.Hello,Is there any way to disable the code which is auto generated by the Touch GFX designer which is not used by the application. so I can reduce the space of the code Thanks
Hi there,In my STM32F429BI TouchGFX project, I using some images.I want to show a image in areaA, and then rotate the image 90dgr and show it in areaB.But seems I must store the 2 images(before and after the rotation) in RAM to show both of them.Can I just store one image, and rotate the image by some setting to save the memory?Thanks for your help!
TouchGFX 4.24.2 is now out. Please follow this link to download it.Release details: Release date: December 18th, 2023 New TouchGFX Core Features: Added libraries for cortex M55.We're happy to share a new TBS in the TouchGFX Designer based on this cortex M55 : the STM32N6570-DK. Please read carefully the description and the readme file included in the TBS as it contains important information to use - flash - debug your project. Enjoy this new version :)
hello,I customized a board with stm32h743iit6 for HMI application, the main hardware features available on the board are RMII ethernet, 32bit SDRAM and LTDC RGB565 interface. Below is the board picture.A test MDK keil project is generated by cubemx to test ethernet communication, freertos and lwip are enabled.Packet loss ratio is zero even for a very long time test, and tcp echo application works fine. But packet loss ratio rises to about 0.1% when touchgfx added to the project. if interacting with touchgfx screen, ethernet connection will break immediately,while touchgfx still works correctly.I have tried to improve priority and increase stack size of lwip thread, still can't solve it.what did I miss?here is the cubemx config file.
Hi,A colleague of mine, afer installing touchgfx 4.24.0 on his machine and cloning our git project gets this error message when trying to generate the files in the designer : Can someone give me a hint of what's going on? (error message is quite nebulous tbh)I don't know if it matters but I recently upgrated touchgfx from version 16.0 to 24.0 on my computer (still have both installed) and it works just fine.I made him installed touchgfx 16.0 just in case but it didn't help.Thanks in advance.
Hi there,I am trying to use an SVG in my project, but the views between the TouchGFX and the simulator differ.please refer to the project in the attachment.My questions are on the page:1. why the rect border seems normal in the TouchGFX Designer view, but abnormal in the simulator?2. what's the mean of the different properties of svg1 and svg2?Thanks for your help.
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.