Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hi ST Community, Thank you so much in advance for your timely support.I am developing a Touch GFX GUI on the STM32H7B3I-DK Discovery Board. Code was generated by Touch GFX itself with Cube MX with modifications done by me on STM32 Cube IDE. Free RTOS is used.I have 2 screens. One screen is an ADD screen where the user can add one or more 'procedures' with a unique name. The second screen is a LIST Screen where it displays a Scroll list of all the procedures that the user has added.For example: The user goes to the ADD screen and adds a procedure by providing a name "Procedure 1" and then adds another procedure with the name "Procedure 2". If he goes to the LIST Screen. He will see Procedure 1 and Procedure 2 listed on the scroll list.I have implemented this using the Scroll List Container that is available in Touch GFX. The list item for this Scroll List is a custom container that has a text field. The Scroll list is designed to update the number of list items and the text fields of ea
I am working with the STM32H745XIH6 disco board to use HAL_UART_Transmit_DMA and send 3 different strings. But what I receive on the terminal are corrupted data. At least on the 1st send of every string, the string are not shown correctly.Let's say the strings are as follows: uint8_t TX_String[] = "Hello World";uint8_t TX_String1[] = "WholeCallback";uint8_t TX_String2[] = "Half";What I see on the 1st send on the terminal is: a bunch of NULL characters when sending the 1st string. Then if I send the 1st string again, it appears correctly. On sending the 2nd string I get a mixed of 1st and 2nd string. Same happen for 3rd string. It seems that the buffer responsible for DMA transmit is not storing all the characters from my global variable on the 1st go.This is what is seen on the terminal:\0\0\0\0\0\0\0orld Hello wllbackÿÿÿ WholHow can I fix that? #include <gui/model/Model.hpp> #include <gui/model/ModelListener.hpp> #ifndef SIMULATOR #include "main.h" #include "string.
Please, someone could point me in the direction to make a widget to show logs or serial data on it? Explaining it further, it should render multiple lines of data as it is being updated keeping an history of previously received data, breaking the lines as it exceeds the widget width or a line ending is received. This would be ideal for showing logs or making a serial monitor on the screen which updates the data as it arrives (and which would look very nice with a monospaced font!). YouTube video example Any advice would be very appreciated. Thanks!
HiI have a project Build wit TouchGFX tools.When start MX_TouchGFX_Init() cause HardFault_Handler.The chain of process are MX_TouchGFX_Init > touchgfx_init(); > Texts::setLanguage(0); > currentLanguageTypedText = typedTextDatabaseArray[id]; > HardFault_Handler.This parts are generated by tools.Someone help me ?Thank
I'm building a new hardware based on STM32F7508-DK demo board. The display used by ST is the RK043FN48H-CT672B. According to Rocktech support, this display was customized for ST (with a single solderable flat cable). The touch and TFT driver ICs on this display are also becoming obsolete. Rocktech is suggesting me to use the new Display RK043FN66HS-CTG, with newer touch and TFT driver ICs. Rocktech said that this drivers are compatible and it should work well... Do you gus have any experience on this new displays from Rocktech?
Hi all, we have a custom made STM32H7A3 board and have an issue with the TouchGFX screen display: The display flickers heavily with every new screen it should display, after a short time it is stabilized and ok.Components and Setup:STM32H7A3 at 280 MHz (8 MHz crystal)Display with parallel interface, 800x480 pixels,LTDC Clock: 33.33 MHzHyperFlash S26KL512 (64 MB) (set to memory mapped mode), running on OctoSPI1 with 70 MHzHyperRAM (16 MB), running on OctoSPI2 with 70 MHzDouble Buffering enabled, RAM Buffers at 0x70000000 and 0x70200000DMA2D enabled, Color Mode RGB888ICache and DCache currently disabled Versions of TouchGFX 4.21.4 and STMCubeMX 6.8.0. / HAL V. 1.11.0The project is created using CubeMX with - FreeRTOS enabled (CMSIS_V2)- TouchGFX with Application Tick Source: LTDC, ChromART enabledLTDC setup is copied from a running system we constructed 4-5 years ago with a STM32H743 processor and the same LCD panel, so this should be set correctly.Unfortunately the TouchGFX handling of
Hello!I would like to know if it is possible to develop a project in TouchGFX directed to the STM32G0B1RET6 microcontroller.According to the examples/documentation the STM32G0B1 is not supported.Please, could someone help me? Or do you have an example?
I have a project that uses an arrow image in many parts of the UI. Currently the project has 5 different versions of the same image, but in different colours. I have limited flash space and would like to condense the 5 images down to 1 BW_RLE image. Is there a way I can use a BW_RLE image in a project that is set to 16bpp ? I want to be able to use the BW_RLE image and set the foreground and background colours.If this was possible, there are many other images in the project that are flat with 1 colour, I want to be able to change these as well to BW_RLE. They are not basic shapes so they cannot be drawn and an image would have to be used.Edit:There are also images being saved to flash in different orientations. Is there no functionality to mirror images in the X & Y orientations for buttons?I am sorry if I am being ignorant, but I have been given a project that uses TouchGFX and I have never used it before. My task is to condense the project because it is too large for the flash me
Normally, it's possible to activate LibJPEG in CubeMX to enable software decoding for MJEPG videos in TouchGFX. Is this also possible for STM32U5 (I'm using the STM32U5A9J-DK), as this option doesn't seem to be available in CubeMX?
Hi,I am implementing a product that uses touchgfx and needs to support remote updates. As the downloading of the assets is slow (~30min), the updated assets to be written into external flash must be written while touchgfx is running. I know that other similar questions of writing to external flash in memory mapped mode in this forum get answers of "just dont do that" or "work around that" but I have been unable to find any other viable solution.Currently, my write process is: stop touchgfx task, stop ltdc interrupt, stop dma2d interrupt, wait until dma2d finishes, reinit qspi (exit mem map), write to ext flash, enter mem map, enable ltdc interrupt, enable dma2d interrupt, and finally resume touchgfx task. If touchgfx is idle (i.e. a static screen) touchgfx survives, but if the screen is non static touchgfx stops working and somehow locks out access to the debugger core in the mcu (rtos and other code still runs). Has anyone had any luck in this? And specifically to the touchgfx devs, h
I have spent the past week or so trying to get a project configured starting from CubeMX with TouchGFX on the STM32F769I-DISCO board. I followed these guides below for CubeMX configuration and troubleshooting the compilation issues that came up:https://touchgfx.zendesk.com/hc/en-us/articles/360020208091-Configuring-STM32F769I-DISCOhttps://www.youtube.com/watch?v=VOs2LYO7wSA&feature=youtu.beAfter excluding the simulator files from compilation, I ran into another issue with flash overflow. The last portion of the console error message from the latest version of CubeIDE is shown below:arm-none-eabi-g++ -o "TGFXtest.elf" @"objects.list" -l:libtouchgfx-float-abi-hard.a -mcpu=cortex-m7 -T"C:\Users\stone\STM32CubeIDE\workspace_1.0.2\TGFXtest\STM32F769NIHX_FLASH.ld" --specs=nosys.specs -Wl,-Map="TGFXtest.map" -Wl,--gc-sections -static -L../Middlewares/ST/TouchGFX/touchgfx/lib/core/cortex_m7/gcc --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -l
I have a STM32H750 DK and for this I have a project in TouchGFX 4.18.1 and would like to update this to the newest version and the newest TouchGFX 4.21.4.How is it possible to import this project without a complete new programming?The Import GUI function does not work here and gives the following error message.What is the correct way to do it in this case?
..
TouchGFX Designer version: 4.21.4CubeMX version: 6.8.1These are the pinout difference:Signal, Pin TouchGFX, Pin CubeMXFMC_SDCKE0, PC3, Not Mapped FMC_SDCKE1, Not Mapped ,PH7FMC_SDNE0, PC2, Not MappedFMC_SDNE1, Not Mapped ,PH6 FMC_SDNWE, PC0 ,PH5The DevKit schematic corresponds to the CubeMX configuration. This makes me think that CubeMX generates the correct configruation for FMC SDRAM.The project generated by TouchGFX designer works correctly launching from either TGFX Designer or STCubeIDE.The questions are:Which tool generates the correct pinout mapping?If CubeMX is the answer to previous question then:Why does the TGFX generated project works? Doesn't it uses FMC SDRAM?Does TGFX designer has a bug generating the code?Can I safely use the TGFX designer generated project and just change the pinout according to what the schematic shows?Thanks!!
Hello guys .. i have created many screens in touchGFX. Im using my 1st screen as a startup screen in that im increasing the progress bar values using systick function.. in 1st screen's interaction im selecting Trigger as "Progress indicator value Update completed " . when my progress bar reaches to 100%, screen is not getting changed.
I want to change the image of analogClock.How to delete Preset?
Hello everyone . I need to generate a PAL signal in a project. For this, I use a PAL encoder that takes RGB parallel data as input. How can I configure the LTDC peripheral? My image size is 640x480.
Hello everyone, I am working on a camera project, I am a beginner with STM32 and camera modules. I am using a MIPI module on Raspberry and I would now like to use it with an STM32, the problem is that with STM it is the DCMI protocol that is used. Could you tell me if you know of an existing component that allows the MIPI -> DCMI link? Thank you in advance and have a nice day!
Hello everyone, I've got custom-made board with STM32F407VE and W25Q16 SPI flash with TFT Display installed.So I've decided to develop my own external loader for SPI flash for storing images in my TouchGFX project. I've managed to read data from flash with st-link utility and stm32cube programmer but encountered some problems.Somehow I can erase one sector at a time. But if I decide to erase multiple sectors, only the first sector in sequence will be erased. This works in st-link utility.In STM32CubeProgrammer, erase functions doesn't work at all, but I can read the data in memory.And because of these issues I can't write
I am being able to convert the image to header file for c but the header file also needs the starting headers as seen in the stlogo file in examples.Before the 0xff data of the logo is the information about the size and etc but using the online softwares and tools i am able to generate only the image data part and it misses out on the first few hex bytes of data. How can i get it ?Is there any other way to display image on LCD ?
Hello guys..im using custom key board with some flex buttons . i have given seperate button to appear and disappear keyboard on screen. and through other flex buttons im increasing the values of textprogress bar.here when im clicking on Enter Val Box keyboard is appearing and dissapearing.. no issue right here... but when im increasing values of TOP,BOT,LFT and RGT through theres buttons. and againg click on Enter Val Box .. my application is getting crashed.
Hi, I am using Waveshare tft circular display which is running using GC9A01 controller. I want to show multiple image frames in a little time. I tried with a one library but it get some times to load one image. Can you suggest me a suitable library for do that?
Whenever I add an image to project, even if not yet using it on a screen, I get the out of memory error upon trying to run the simulator. I remove the image and it compiles again.Test image is only 88kB .png. Is this still too big? Had been compiling one day and not the next.Thanks.
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.