Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello,I'm usign STM32F429II MCU , with ltdc pheripheral to command an external lcd tft display 480*272.I configured all the fmc sdram parameters and initialization etc... TouchGFX generation for the image etc...Checked clocks etc...Do not know what to inspect to find the cause of this.It's a custom made board.
Previously I had a problem of semaphore, touchgfx was waiting for a semaphore that never come ( in function takeFrameBufferSemaphore osSemaphoreAcquire(frame_buffer_sem, osWaitForever))We use touchGFX with a LPC mcu and we still use version 4.9.10 - non ST.Could you help us to solve this problem.We see that version 4.9.10 had a problem and we added as suggestedvoid NXP43XXHAL::endFrame(){ while(dma.isDMARunning()) { OSWrappers::tryTakeFrameBufferSemaphore(); } HAL::endFrame();}But the problem wasn't solve.We tryed to replace the osWaitForever with a delay of 400 but the problem now is that the code stay in a infinite loop in LockFreeDMA_QueueE in dma.c and I don't know how to solve this problem. The code works fine but the problem appear sometimes.We works with touchgfx for years and we could not change our mcu. Please support us although we do not us a ST product.Thank you !
Hi guys,I recently started working with TouchGFX and made some demos for the STM32F769-DISCO which all ran smoothly. Now I wanted to switch to the ARM6 Compiler and everything went down the drain, a lot of TouchGFX and FreeRTOS Compiler errors.I tried researching the topic and to find some configuratoin parameters to switch libraries or something like that but wasn't successfull.Can you point me in the right direction on how to switch automatically generated KEIL projects with TouchGFX and FreeRTOS from ARM5 to ARM6 compiler?Thanks and cheers!
Fresh install (yesterday and today) of CubeIDE 1.7.0 and TouchGFX Designer 4.18.0.In Designer - create a new project, one screen/one control, target is STM32F469I Discovery board.Generates code fine - simulates fine - sends to actual Disco board and runs just fine.Build code in TouchGFX MinGW environment: zero errors.Import project into CubeIDE: project does not compile. The first error in my case:make: *** No rule to make target 'C:/TouchGFXProjects/TestProject/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c', needed by 'Drivers/STM32F4xx_HAL_Driver/stm32f4xx_hal_uart.o'. Stop.Not a gigantic problem, I have the hal_uart.c in another project, so I copied it into the driver/src folder and that error cleared. But next I get this error:make: *** No rule to make target 'C:/TouchGFXProjects/TestProject/Drivers/BSP/Components/mfxstm32l152/mfxstm32l152.c', needed by 'Drivers/BSP/Components/mfxstm32l152.o'. Stop.I don't have one of those. :expressionless_face: So, there are thr
Hi, :grinning_face: I must used STM32 CubeMX generate code after generate code by TouchGfx Designer every time. The USB library code generate by STM32 CubeMX would delected by TouchGfx Designer :Error: L6218E: Undefined symbol USBD_CUSTOM_HID (referred from usb_device.o).Error: L6218E: Undefined symbol USBD_CUSTOM_HID_RegisterInterface (referred from usb_device.o).Error: L6218E: Undefined symbol USBD_Init (referred from usb_device.o).Error: L6218E: Undefined symbol USBD_RegisterClass (referred from usb_device.o).Error: L6218E: Undefined symbol USBD_Start (referred from usb_device.o).Error: L6218E: Undefined symbol USBD_GetString (referred from usbd_desc.o).Error: L6218E: Undefined symbol USBD_CUSTOM_HID_ReceivePacket (referred from usbd_custom_hid_if.o).Error: L6218E: Undefined symbol USBD_CUSTOM_HID_SendReport (referred from usbd_custom_hid_if.o).Error: L6218E: Undefined symbol USBD_GetRxCount (referred from usbd_custom_hid_if.o).Error: L6218E: Undefined symbol
Hello,I'm working on a STM32F769I-Eval Board, and generated a TouchGFX project for it.My project is working fine, but I have some questions about the SDRAM configuration and MPU generated by TouchGFX.When loading the ioc file, in the FMC, I can see that the SDRAM 1 is configured to use 12 bits of row address, and 8 bits of column address. The SDRAM have 12bits Row address and 9 bits column address.What is the purpose to limit the column address to 8 while the SDRAM can work with 9 bits? It reduce the amount of memory usable! With 12 bits row, 8 bits column, and 4 banks we have 4M 32bits, or 16MBytes. But in the MPU configuration, the size of the Region 0xC000 0000 corresponding to the SDRAM is set to 64MB! I do not understand if this is an error or if there is something I do not understand.Anyone can help? Thank youAntoine
Hi, AllI have a fine working project but i don't have a designer project files.I want to add a TextAreaWithOneWildcard modifying only source code.I was using this article as a referencehttps://support.touchgfx.com/docs/development/ui-development/ui-components/miscellaneous/text-areaI have added a code for a new control like in the article but control is not displaying.I am missing something.I have added also anadd(VARIABLE_NAME) in the base class of the screen. That was not described in the article above.Maybe there are some hidden code which I can't find using notepad++ search?
Hey,today I updated my project from touchgfx 4.15.0 to 4.16.0. I noticed problem with L8_RGB565 format of image as you can see it on the picture (picture is from my custom board) : My board is based on STM32H7 MCU. My frame buffers are 16bit. In the last release of touchgfx I didn't have these issues. I noticed that drivers for DMA2D are updated. Is it possible that this is a bug ? Or I'm missing something here?
Hi,I'd like to know what is the difference between the icon of the button and the image of the button.What is the difference? they seem to do exactly the same thing...thank you
I am using Touchgfx 4.13.0 in my application for a while and decide to upgrade to 4.17.0 (about time you can say). But it seems that the font management evolved, and as my product is upgradable OTA, I cannot really afford to resend all fonts in bluetooth low energy. Is there a way to configure the fontconverter to have an output compatible with previous version ?I try to get the old one back in the latest touchgfx, but there are not compatible. Hope you can help.It does not seems so, but does the other tools evolved ? textconverter or imageconverter will have the same issue ?regards,
If I set the color of a box widget with setColor and the touchgfx::colortype is 0xFF494949, the color on the LCD is blue but not grey. This problem happens after the updates. The color value is produced by Color::getColorFromRGB() from the 3 base colors set to 0x49. As I understand from the description of getColorFromRGB, it should return a display specific value for the color? I have read that there was a change in the color functions. How can I correct set the color from the 3 RGB-Values (0..255)?
After flashing the compiled binary the touchscreen in the demo is not responsive. The rest of the demo is working as expected.
Hi all,I have a strange problem on an STM32H742 project which uses TouchGFX and FreeRTOS.The project uses a huge array of structured elements. I need 1200 elements, but this will not work. The strange thing is, that the system is working perfectly, when I define only 240 elements!Increasing the number of elements is corrupting the whole system so that even the main menu screen is no longer presented.Details:I run 2 tasks: One for a communication to another processor and a second one for the TouchGFX User interface handlings. The communication task hands over initialisation data to the user interface via RTOS messages. The project is displaying measurement data. The definition of the data channel handling (Descriptions, calculation factors etc) is defined in a structure which takes 64 bytes per data channel. Then I define a variable array of this struct definition:typedef struct{ short m_nActiveIdx; s
I have custom board with 800x480 TFT display, external SDRAM and STM32H745II MCU.I have two problems that can be related, but I'm not sureWhen I'm trying to change one byte in the SDRAM from the debugger Memory window, 8 bytes around it change, mostly to zero, sometimes to some random values. It works in IAR IDE and in VisualGDB (OpenODC + GDB). If I try to change one byte from the firmware, everything works good.I'm porting lvgl to my board. Video memory is located in the external SDRAM. I try to use DMA2D to write internal lvgl buffer to the video memory (implementing flush_cb lvgl function). Sometimes, depending on the widget coordinates and size, calculated DMA2D addresses and offsets become not aligned by 8 bytes. In this case after the transfer I see from 1 to 3 zero pixels on the image, at the end of the each copied image line. In the memory there are 2 to 6 zero bytes, from the end of the image line to the next 8-byte alligned address.Is it some SDRAM\FMC specific, or DMA2D ali
Hi. I've followed the installation guidance found at https://support.touchgfx.com/docs/introduction/installation and can't get TouchGFX 4.18 to show up in neither STM32CudeIDE and STM32CudeMX (refreshed several times). Will this show up when an update list gets updated or is this a permanent removal from the ST's IDE toolchain? Thanks
..
Hi,I'm trying to reduce the frame buffer size for LTDC, Therefore I'm using CLUTI configured for L8 pixel format and enabled the CLUT with input array of 256 size filled with color values.When I'm giving GUI_SetColor(Index_No); it is displaying random color from the arrayFor example: 0xFFFFFF index displays the color from Index 255 of the CLUT table, 0 to 44 index displays the color from Index 0, it is very random.Please help me out in understanding how this index is calculated in CLUT configuration with the library calls, Is there anything specifics to be done for CLUT integration with Emwin LibrariesHow the index are calculated from GUISetColor() for CLUT?
in software package STM32L0 1.12.1in file stm32l0xx_hal_rcc_ex.cin functionHAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)The RTC and LCD have their own settings, though they share the same clock.These settings are usually handled correctly, e.g./*------------------------------- RTC/LCD Configuration ------------------------*/ if ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == RCC_PERIPHCLK_RTC) #if defined(LCD) || (((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LCD) == RCC_PERIPHCLK_LCD) #endif /* LCD */ )but they're not correctly handled everywhere; at the end of the block quoted above, there is this initialization:__HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);However, if the function was called to initialize the LCD and not the RTC, this is wrong, as it will disable the clock.This is what that one-line init should actually be:#if defined(LCD) if((((PeriphClkInit->PeriphClockSelection) &
Hi,Is it possible to zoom in on a text?I'm trying to create a scrollList with the selected element larger than the rest.Thanks!
Hello,I want to know about the display drivers which touchgfx supported directly, so that I can decide which LCD suitable with TouchGFX like TouchGFX supports ILI9325 and OTM8009a.But I want to know complete lcd driver list.Thanks in advance.
You can import demo projects from the Cube package downloaded by the IDE, but you cannot integrate the libraries in a CubeIDE project, because they use different drivers. All you're left with in the new IDE is low-level functions. Is there a software package suitable for that? It's sad that even much of official ST documentation for boards still refer to pre-cubeIDE era.
Have ListLayout to which MenuItemToggle items have been "add".I believe ListLayout can be traversed via getFirstChild and getNextSibling.How to update menu item text?I presume the Drawable object returned by getFirstChild or getNextSibling can be used to update menu item text.But no Drawable method appears to allow the menu text to be updated.How to update a Drawable item text?
I am unable to add two Keyboards at the same time to the screen. One is alphanumeric and other is numeric only. The Keyboards work separately if the included header file is commented.#ifndef SCREEN_DIALOGVIEW_HPP #define SCREEN_DIALOGVIEW_HPP #include <gui_generated/screen_dialog_screen/Screen_DialogViewBase.hpp> #include <gui/screen_dialog_screen/Screen_DialogPresenter.hpp> #include <gui/common/NumKeyboard.hpp> #include <gui/common/CustomKeyboard.hpp> class Screen_DialogView : public Screen_DialogViewBase { public: Screen_DialogView(); virtual ~Screen_DialogView() {} virtual void setupScreen(); virtual void tearDownScreen(); virtual void showKeypad(uint8_t _type); virtual void enterPressedHandler(); virtual void enterNumPressedHandler(); virtual void toggleSignUp(); virtual void logout(); protected: CustomKeyboard keyboard; NumKeyboard numkeyboard; bool signedIn; uint8_t type = 0; bool check[3] = { false, false, false }
I am using TFT LCD + LTDC + STemWin in STM32F429IG with external SDRAM. I have enabled multi buffering to reduce the flickering effect. Then it works fine. But after a continuous run time of more than a day the system is running al the freertos task is running but the LCD display freezes. I have increased the memory of STemWin but still the problem exists.Can anyone help me on this.Note : I use CubeMX to generate the project.
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.