Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi,I have used TouchGFX on an F4 without any problems so far, except that the animations were a bit slow. Now I bought this H7A3ZIQ and when I add TouchGFX to the project, I get 230 'undefined reference' errors. Any ideas on how this is possible?
I'm trying to use touchGFX with an ILI9341 using SPI. I've gone through the steps to create my timer to call touchgfxSignalVSync() but I get the warning: implicit declaration of function 'touchgfxSignalVSync'. Is there something that needs to be included in order to call the method?I'm using STM32CubeIDE Version: 1.15.1 Build: 21094_20240412_1041 (UTC) and TouchGFX Version 4.24.0.Kindest regards
I have issue with init LCD 480x1280 with this IC connected 2 lanes to STM32F469. When i init DSI host to video mode and after start DSI init display commands, display isnt synced properly. Help please. Image is horizontaly shifted . I test hundret combination porch and timing, nothing helps.uint8_t lcdRegData[2]; extern DSI_HandleTypeDef hdsi; void Wrt_Reg_3052(uint8_t Par1,uint8_t Par2) { lcdRegData[0]=Par2; HAL_DSI_LongWrite(&hdsi, 0, DSI_DCS_LONG_PKT_WRITE, 1, Par1, lcdRegData); } uint8_t NV3051D_Init(uint32_t ColorCoding, uint32_t orientation) { LCD_RESET_GPIO_Port->BSRR = LCD_RESET_Pin; HAL_Delay(1); HAL_GPIO_WritePin(LCD_RESET_GPIO_Port, LCD_RESET_Pin, GPIO_PIN_RESET); HAL_Delay(1); LCD_RESET_GPIO_Port->BSRR = LCD_RESET_Pin; HAL_Delay(150); HAL_DSI_Start(&(hdsi)); HAL_Delay(15); Wrt_Reg_3052(0xFF,0x30); Wrt_Reg_3052(0xFF,0x52); Wrt_Reg_3052(0xFF,0x01); Wrt_Reg_3052(0xE3,0x00); Wrt_Reg_3052(0xF6,0xC0); Wrt_Reg_3052(0
Hello,I am working on H750 while the flash is limited.Because the LCD is RGB565, may I know if the the unrelated functions can be removed? such as functions related with ARGB8888 and RGB888. Thanks.
Can I use memory data sections in the SIMULATOR of TouchGFX? I want to add something like{ setError(1); // 1 will be replaced by an unique constant (enum) #if USE_ADD_INFO_FOR_ERROR ADD_INFO_FOR_ERROR(1, "some explanation for error 1"); #endif }add various places in the source code and print them in the simulator in the main() function w/o calling ADD_INFO_FOR_ERROR before. This would work with:#define ADD_INFO_FOR_ERROR(INTEGERVALUE, CONSTANTTEXT) \ static const struct { \ int index; \ const char *text; \ } entry_##INTEGERVALUE __attribute__((section(".add_info_section"), used)) = {INTEGERVALUE, CONSTANTTEXT}; This compiles with the productive system but with the simulator, it is not possible or I do not know how to access the data section.
Hi.I am using SDRAM, OctoSPI and 24bit RGB888 TFT screen. Project is working normally with another widgets (button, shape, text area, image etc.). Now i want to use video decoding and video widget. I made the necessary cubemx settings by reading the Video decoding. application steps. As a trial, I prepared a project consisting of 4 images and one video (sample video in touchgfx) in touchgfx. There are 5 screens in the project. Screen1, screen2, screen3, screen4 and screen5. I play the video after showing the images at 2-second intervals. The video widget is in the 5th screen. The program works properly until the 4th screen. But when it comes to the part of playing the video, it going to the "hardfault" procedure. I think I'm making a mistake with the memory settings. Cubemx settings are as follows;DMA2DJPEGJPEG-MDMAJPEG-MDMALIBJPEGRTOS-TASKRTOS-HEAPTouchGfxI added the following code in STM32H7B3LIHXQ_FLASH.ld.MEMORY { ... SDRAM (xrw) : ORI
Hello everyone,I recently downloaded TouchGFX version 4.23.2 and tried running the example on my STM32F7508-DK. However, when I click the simulation button, I encounter these errors. Can anyone help me with this issue? I'm running TouchGFX on Windows 11 Run SimulatorGenerateDoneGenerate Assetsmake -f simulator/gcc/Makefile assets -j8Reading ./application.configReading ./target.configDonePost Generatetouchgfx update_project --project-file=simulator/msvs/Application.vcxprojDonePost Generate Targettouchgfx update_project.cproject file: ../STM32CubeIDE/.cprojectWriting STM32CubeIDE project file: ../STM32CubeIDE/.projectWriting STM32CubeIDE project file: ../STM32CubeIDE/.cprojectDoneCompilemake -f simulator/gcc/Makefile -j8Reading ./application.configReading ./target.config/usr/bin/sh: -c: line 0: syntax error near unexpected token `('/usr/bin/sh: -c: line 0: `C:\Program Files (x86)\GnuWin32\bin\make.exe -f generated/simulator/gcc/Makefile -r -s -rs -j --jobserver-fds=gmake_semaphore_1
I am currently working on a project using TouchGFX, Ethernet an LwIP on a STM32H745I board and I was wondering if anyone has encountered a similar issue.I am using :the firmware package v1.9 for the H7 (I also tried with the v1.10),TouchGFX 4.18 (I also tried with 4.19).I generated a project with TouchGFX Designer, and imported it on CubeIDE. Then, I opened the .ioc file for adding the features of Ethernet and LwIP.After generating the code, it seems that I cannot compile it because "lwip.h" is nowhere to be found, eventhough I can do "open declaration" and it opens a file from the upper folders. Here is a look at the project folders : There is a Middlewares folder in the upper part but there is no Middlewares folder in the lower part. I tried to generate a project with the H747 board and the Middlewares folder is generated along with other folders : Has anyone encountered this? Is it meant to be used that way?
I simply wanted to create a new TouchGFX project for Riverdi STM32 Embedded Display. It gave me "Combination of Riverdi STM32 Embedded Display & Blank UI failed" error all the time.I've tried uninstall the legacy versions and re-install, but no luck. =====================================================================================Update:Demo creation shows the unexpected error.Please see error log attached.=====================================================================================Update:Tried on another Win10 machine. Same error.Tried to re-install "VC_redist.x64". Same error.=====================================================================================Update:4.23.0 gave the same error.4.22.0 and .1 work just fine.=====================================================================================Update:V4.22.0 and .1 gave failure while code generation:...C:/TouchGFX/4.22.0/env/MinGW/msys/1.0/Ruby30-x64/lib/ruby/3.0.0/win32/registry.rb:9
Hi, I am trying to run a touchgfx designer generated project in cubeIDE but when I go to the IDE and enable I2C1 in the .ioc file... I get the following error while building: C:/TouchGFXProjects/blabla/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:57:10: fatal error: stm32h7xx_hal_ltdc.h: No such file or directory57 | #include "stm32h7xx_hal_ltdc.h"compilation terminated. I am using stm32h735G-DK and touchGFX 4.24.0.I am a complete newbie here and any help would be greatly appreciated!Thanks,Vatsal
Hi everyone. I hope you are well.I am researching how to write LD file. I listened external flash pins. I used an "External Flash Loader file" to program the external Flash IC and MCU. I used STLDR file that work. I will write stages step by step; 0x06 : Write Enable 0x05 : Read status, -> Response: 0x02 0xD8 : Block Erase 0x05 : Read status, -> Response: 0x03 ...//Repeat 0x05 command 0x05 : Read status, -> Response: 0x00 // Block erased. ... 0x06 : Write Enable 0x05 : Read status, -> Response: 0x02 0x02 : Page Program 0x05 : Read status, -> Response: 0x03 ...//Repeat 0x05 command 0x05 : Read status, -> Response: 0x00 // Page programmed. ... I created a my custom STLDR file. Programmer(Stm32Cube) is "known" my STLDR file. But My MCU and Flash IC can not be programmed. I take error. And I listened again. My STLDR file use different procedure to program. Is not like above. 0x66 : Reset 0 0x99 : Reset 1 0x06 : Write Enable 0x20 : Sector Erase 0x05 :
hi allin frontendapplicationbase.cpp#include <gui/rocket_7tube_testing_screen/Rocket_7tube_testingView.hpp>#include <gui/rocket_7tube_testing_screen/Rocket_7tube_testingPresenter.hpp>include added, but application not generated.please help me I am urgency.. thanks
Hello Everyone, I am currently working on a project using TouchGFX and I need to know if it is possible to use the UC8253 E-Ink driver.Questions:Is it possible to use the UC8253 E-Ink driver with TouchGFX?If so, how can I configure TouchGFX to support the UC8253 E-Ink driver?I have attached the display information file & link that uses the UC8253 driver for your reference.https://www.good-display.com/product/413.html Thank you for your support.
I have made multiple post at this point attempting to figure out why .invalidate is not working properly on my board. The thing is, all the examples programs work just fine. So either I am generating code in the wrong order or there is a different way to display and refresh the WIGITS on the screen without using .invalidate.QUESTION:Is there other methods or libraries I can use that the examples for my board utilize to refresh their screen that doesn't cause it to tear? There has to be a way animation play out and look smooth over time. The board I am using is the STM32H735G-DK
Hello,I followed this guide (https://touchgfx.zendesk.com/hc/en-us/articles/115002741432-Create-custom-Application-Template) to adding TouchGFX to my existing project.I'm working with IAR 8.30.1 and tgfx 4.10.0 and STM32F429ZG and FreeRTOS V9.0.0 ( with `heap_4.c` as memory manager ).Everything works well now, except texts. Every time I added components that contain text, Hard Fault occurs during redraw (*.invalidate()) it.I added virtual void handleTickEvent() { container.invalidate(); }to my ScreenView class to verifying DMA2D and LTDC configurations. All components work well. But existing just a text component causes HardFault.By tracking `LR` and `PC`, I find out that HardFault occures in `TextProvider` class.I think stack corrupted. Due to often times, `PC` is in the `DataSection`.I increased the stack size of my GUI task and `configTOTAL_HEAP_SIZE` of FreeRTOS configuration, But results not changed. Is there any other stack size ( or heap size ) limitation?Or,
Hi, I'm developing on a custom hardware, trying to run a simple touchgfx project.Single screen with an image an a text over.Following the example and the strusture of a STM32F746G-Disco demo board, I makemy hardware functioning, any image, even big goes on the 800x480 LCD. But any time I try to put on the screen a text the system faut to Hrdfault handler.it seem that the function trying to call a protected area ( 0x5xxxxxx) .I get that problem every time I try to call "setTypedText" funcion.I don't understand if some memory settings in my app is wrong. I did try to put the text into external or internal memory, using wildcards or not. It's impossible to show any text.I use freertos, the project is created with CubeMX + Touchgfx Designer.I did encrease the heap and the stack. Nothing. several images at the same time pass the test, but no text even if I use a single font and try printing a single word.Please point me in some direction to search.Thanks.Paolo
Hello everyone,I am currently working on programming the display of the STM32F469I-DISCO using X-Cube-TouchGFX.What I want to achieve:I aim to create a simple application that displays a button in the center of the screen, just to test the functionality.The issue:When I run the code in CubeIDE, the display remains black, and the backlight doesn't turn on. I have made sure that "MX_TouchGFX_Process()" is called within the `while (1)` loop.Here are some additional details that might help in diagnosing the problem:- I have initialized all required peripherals and included the necessary middleware.- I have set up TouchGFX in the .part file.Despite these efforts, the display still shows no signs of life. Has anyone encountered a similar issue or can provide guidance on what I might be missing? A picture of my TouchGFX settings Any help or suggestions would be greatly appreciated!Thank you!
Hello,I am trying to develop GUI using STM32H7A3ZI and DLC0700BWM27RT-2https://www.digimax.it/en/tft-lcd/16681-DLC0700BWM27RT-2display using TouchGFX. I followed documentationhttps://support.touchgfx.com/docs/development/touchgfx-hal-development/scenarios/scenarios-ltdc-parallel-rgband also observed few examples from evaluation board how to initialize the display and tried to follow it but i couldn't figure out how it can be done. Any help would be great. Thank you.kind regards
TouchGFX+LCD controlExternal flash memory is being used.However, when TextArea is used, TEXT is not displayed properly.So, I used INTERNAL FLASH MEMORY only for TEXT and FONT and it worked normally.What am I missing??The memory settings are as follows.ExtFlashSection:{*(ExtFlashSection ExtFlashSection.*)*(.gnu.linkonce.r.*). = ALIGN(0x4);} >QUADSPIFontFlashSection:{*(FontFlashSectionFontFlashSection.*)*(.gnu.linkonce.r.*). = ALIGN(0x4);} >FLASHTextFlashSection:{*(TextFlashSectionTextFlashSection.*)*(.gnu.linkonce.r.*). = ALIGN(0x4);} >FLASH
I am using TouchGFX 4.24.0(The newest version). It does not seem to generate the newest version of code for STM IDE to use. I think this causing problems when I need to make changes between the script and the gui. Is there a way to change what version of code is generated? I have no examples to show, other than it prompts me to "Migrate" to a newer version when I go to the IDE. When I start to make changes to the original gui it obliterates my code, Wigits go missing, screen flickers. I am using the board STM32H735G-DK.
Hello!I'm using a 320x240 TFT display with ST7789V driver and SPI interface by X-CUBE-DISPLAY. Pixel transfer works correctly when I use the BSP_LCD_WriteData function. I can also display images and animation using the TouchGFX framework.However, when I use the BSP_LCD_WriteDataDMA function to perform the same process but with DMA, I encounter an anomalous behavior that I cannot explain.The code transfers the data successfully and the display show the image during the first execution. Then, on the second execution, the display suddenly turns off, blacking out all pixels, as soon as the BSP_LCD_SetDisplayWindow function is called. Despite this, neither the driver nor the DMA reports any errors. uint32_t Display_TransferData(uint8_t useDMA, uint8_t * data, uint32_t size) { uint8_t * ptr = data; uint32_t i = 0; while(i < size) { uint32_t n_byte = 65534; if(size < i+n_byte) n_byte = size - i; uint32_t ret; if(useDMA) { ret = BSP_LCD_WriteDataDMA(0, ptr
I have made many tutorial examples of touch GFX projects but I have never tried seeing the code from one of the given examples. When I picked the Flex button example and generated the code I noticed I could not only not open a STM32 project to see the virtual functions but I could also not upload the project to my board because it didn't have the standard STM32 project in it. Two questions,1) Is there a way to push a touch GFX project without STM32 project to a board for testing2) Am I being an *** and missing the code in another directory or file? I am looking into this example due to advice I got from a different forum post. Thank you for your time.
Hi, I would like to create a list menu where the hardware buttons are used to go up and down and a black box indicates the current selection. Does anyone have a solution? Thanks
디스플레이를 터치하면 글자가 깨지거나 이상한 글자가 표시됩니다. 그리고 screen1에 여러 글자를 입력했는데 놔다 켜면 글자가 이상하게 나옵니다. 도움을 주세요. 이 사진은 touchgfx로 디자인된 오리지널 사진입니다.보드에 이것을 업로드하면 위에처럼 이미지가 사라지거나 이상한 텍스트가 포함되는 경우가 있습니다.
PROBLEM: I do not believe this is a bug. I am doing everything I can to read into this issue it seems like I am either not enabling all the correct options or I am using .invalidate wrong. This is what my GUI looks like from a basic design. This is what it looks like when I run the TouchGFX simulator(the right image is gone because I initialize it as false until it receives a signal) This is the tearing image I am having trouble with(currently no inputs). I am basing this example on a set of tutorials I found online, https://www.youtube.com/watch?v=Y7d6-59YQu8&t=525s. At my current level of C programming he seems to provide a good amount of details. Where I fall short is once I start to run it on the board. CODE IN QUESTION: #include <gui/screen1_screen/Screen1View.hpp> Screen1View::Screen1View() { } void Screen1View::setupScreen() { Screen1ViewBase::setupScreen(); } void Screen1View::tearDownScreen() { Screen1ViewBase::tearDownScreen(); } void S
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.