Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Hello,I've been trying to program a GUI application using Touch GFX with a custom board including a STM32F469II. Recently however, the program has begun to act weird when I try to debug it and fails before I have to restart it manually. Here what I could find concerning this issue :When I try to debug it, it enters HAL_Init(); and goes to the line 478 of the file "stm32f4xx_hal_tim.c" : if (IS_TIM_SLAVE_INSTANCE(htim->Instance))htim is TIM6 here which I put as the timebase source in the SYS menu in CubeMX (the debug mode is Serial Wire). It then stops and an error message is shown : "Break at address "0x0" with no debug information available, or outside of program code.". I'm using CubeIDE by the way.If now I hard reset the board when in debug mode before moving from HAL_init(), it will launch to program and the application is correctly print on my screen and I even can put breakpoint in the GUI process (as an exemple, when the screen is touched) although any breakpoint before
MyApplication.zip is created, but .json file is not created. i do not know why? Thanks
Hi,Is it possible to implement a dynamic bar graph in TouchGFX as shown in picture. If yes, please point me to help/tutorial/example.
Hello everyone, I am using STM32F746G-DISC board with STM32F4DIS-CAM module which comes with OV9655 sensor.I want to use OV5640 sensor instead of OV9655 on that module, but I don't know why but I can not even read the ID reg of the OV5640 cam, yet it works fine with OV9655 sensor.Do you guys have any suggestions or experience related to this?I am sure that both the cameras have the same FFC pinout and require an identical external circuit & are present on the camera module itself. So theoretically, swapping the camera sensors should work.
Hello!We are use STM32H747 and TouchGFX. We are need to use DMA2D. But we have issue with mode DMA2D_R2M.Our configuration hdma2d.Instance = DMA2D; hdma2d.Init.Mode = DMA2D_R2M; hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888; hdma2d.Init.OutputOffset = 0; if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) { while (1); } if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) { while (1); }Our testNVIC_EnableIRQ(DMA2D_IRQn); HAL_DMA2D_Start_IT(&hdma2d, 0x12345678, 0xD0165800, 640, 572);In this case we have callback from DMA with configuration error.For mode DMA2D_R2M - all Ok.Any ideas?
(1) The GUI displays an exception. The problem can not be determined. It is suspected that the data sent by dma2d is incorrect. At present, there is no touchgfx fill interface function???(2) Close the GUI display function, directly call the bottom dma2d write screen cleaning function, can display normal!!!The screen uses DSI MipiGUI display content: Screen display after opening GUI: Close the GUI and use the clear screen function:
HiI have GFX Designer 4.16.1 and STM32CubeIDE 1.6.1. How to start working on the STM32F746G-DISCO.greetingsAndrzej
Hello!I have homemade board with STM32F746, memory - n25q128.Project generated by Cube 5.5 and touchGFXDesigner 4.13 IDE - KEil 5.29I put one button to main screen.When I put images to internal flash - all works very well.But when I put it to QSPI - I get HardFault, with this callstackSCT file for External memory :; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08000000 0x00100000 { ; load region size_region ER_IROM1 0x08000000 0x00100000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00050000 { ; RW data .ANY (+RW +ZI) } } LR_EROM1 0x90000000 0x1000000 { ; load region size_region ER_EROM1 0x90000000 0x1000000 { ; load address = execution address *.o (ExtFlashSection) *.o (TextFlashSection) *.o (FontFlashSection) } } IMPORTANT!!!!
MCU: STM32H750IDE: STM32CubeIDEDue to lots of image files for UI, I need to spend around 3~4 minutes programming the external flash. Can I specify a code area and an image area for the external flash? Then if image files are not changed, can I just update the code area?Or is there any way to shorten the programming flash time for a project with TouchGFX?
The flash loader has been successfully made.The OSPI memory mapping mode has been verified successfully.Question: When touchgfx designer selects extflash, the screen is black, and it is normal to switch to intflash。。。。 I feel incredible,can't find out the cause of the problem:tired_face: Do I need to modify any files of touchgfx?***.sct:LR_IROM1 0x08000000 0x00200000 { ; load region size_region ER_IROM1 0x08000000 0x00200000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x20000000 0x00040000 { ; RW data .ANY (+RW +ZI) } RW_FRAMEBUFFER 0x20040000 UNINIT 0x00060000 { ; RW data framebuffer ; Allocating region to framebuffer } }LR_EROM1 0x90000000 0x4000000 { ; load region size_region ER_EROM1 0x90000000 0x4000000 { ; load address = execution address *.o (Ex
... Compile make -f ../gcc/Makefile -j8 Reading TouchGFX/application.config Linking TouchGFX/build/bin/target.elf Producing additional output formats... target.hex - Combined internal+external hex intflash.elf - Internal flash, elf debug intflash.hex - Internal flash, hex extflash.bin - External flash, binary Done Flash make -f ../gcc/Makefile flash -j8 Reading TouchGFX/application.config Linking TouchGFX/build/bin/ta
Hey Everyone'Am using Stm32f103c8 with Arduino IDE to read temperature from thermistor and Voltage from the lithium battery cell, connected to LCD. I noticed the values received on the LCD is not both from the thermistor and the battery, because whenever I removed both the thermistor and the Battery connections, still the LCD Keep showing the same values also whenever I hold the thermistor for some moment nothing change on the LCD screen values, its always keep showing the same result I cannot figure out where the problem is, please I need help. Thank you in advance
How do I configure STemWIn library via STM32CubeMX for STM32F469NI ?I am using STM32CubeMX version 6.2. I has stopped support from version 5.4. May I know the reason ? As I want to configure my whole project with cubemx.Shall I continue using older version or will it be any problem ?
I am trying to find a solution to this problem: how to call a general error screen (application hardware failure) from my RTOS code without having to do it in the code of each screen ?Thanks for any clue or solution
When I generate code on my TouchFGX 4.15.0 project, it overwrites the correct Library Search Path in my STM32CubeIDE .cproject file and replaces it with this one:"${workspace_loc:/Executable/Middlewares/ST/TouchGFX/touchgfx/lib/core/cortex_m7/gcc}}"In fact the correct location for the library is:"${workspace_loc:/${ProjName}/Middlewares/ST/TouchGFX/touchgfx/lib/core/cortex_m7/gcc}"I can't find any way to change this in the .touchgfx file or elsewhere. How can I correct this so I don't need to manually change every time I regenerate the code?
I've been asking for help here:https://community.st.com/s/question/0D73W000000nnHE/detail?s1oid=00Db0000000YtG6&t=1622041167388&s1nid=0DB0X000000DYbd&emkind=chatterCommentNotification&s1uid=0053W000001U4NJ&emtm=1622013936957&fromEmail=1&s1ext=0But its starting to look like this might not be a touchGFX problem, so I'm reposting here.I'm getting a single UNALIGNED hardfault after power cycle when I enable double buffering. The linked post goes into more details about my setup and the things I've tried so far.
After enabling double buffering my custom system suffers a single hardfault each time its power cycled. After a software reset NVIC_SystemReset() the system functions normally until the next power cycle.CFSR and HFSR show a FORCED UNALIGNED hardfault, which isn't super helpful.Config:CubeMX>MultiMedia>LTDC>Layer 0 Settings>Frame Buffer Start Address>0xC0000000CubeMX>SoftwarePacks>TouchGFX>Display>Start Address 0cC0000000CubeMX>SoftwarePacks>TouchGFX>Display>Start Address2 0xC0400000The hardfault occurs only once each power cycle. When LTDC IRQ handler fires after the first call to touchGFX>flushFrameBuffer().I'm not sure what information would be helpful here. Is there something I'm missing in my config?
Hi everyone,i start a project with CubeMX, after i add TouchGFX 4.16.1 (RGB565).I configure: LTDC (RGB666), FMC (SDRAM [0xD0000000]) and DMA2D.I see in debug that the application run into ScreenViewBase but the display is black.What can it miss in configuration?I allegate .zip of project example.I hope someone can help me.Thanks.Resolved: I miss to enable Blacklight of display :grinning_face_with_sweat:
Hello,I have a application that requires Matrix transposition in a efficient and fast way. I know there is a cmsis dsp matrix transposition function but maybe the MDMA could do this without CPU intervention?!I found an example in the STM32 Cube H7 Repo and it is talking about 90 ° rotation, but it is not done in the source... only mirroring and 180° rotation.https://github.com/STMicroelectronics/STM32CubeH7/tree/master/Projects/STM32H747I-DISCO/Examples/MDMA/MDMA_RepeatBlock_RotationIs it possible? I don't get the clou of the block offset address behaviour at the moment.ThanksSebastian
Thank you for helping.How can I change the value displayed / set in the textArea to the value brought from the variable instead of the touchgfx setting value?Wildcards are used for the textArea.I wrote the following code in the View constructor, but it didn't show up.Thank you.int tmp, f10, f01tmp = hoge.getValue ();f10 = tmp / 10;f01 = tmp% 10;Unicode :: snprintf (textAreaFirstBuffer, TEXTAREAFIRST_SIZE, "% 02d", f10 * 10 + f01);textAreaFirst.setWildcard (textAreaFirstBuffer);textAreaFirst.invalidate ();
I am considering Touchgfx for a new project and I would like to integrate inline/automated testing from the beginning. Are there any test frameworks that can be recommended? I see that Crank has a partnership with STM but I am not sure if I need a tool with so many bells and whistles.Thanks.
I want to know What is the L8 image file format?thanks in advance
Hi thereToday I wanted to try the L8 image format. After generating the assets I flashed the STM32H750-DK.I have a startupscreen with a fade transistion. Now with the L8 image format the screen is stuttering a lot. I also have a scroll list, which is not usable because of the delay.I this behaviour to be expected?Is there anything to be done to use L8 image format?One side note: I have deactivated caching until our development is finished. When D-Cache is activated, the performance is a lot better.Thanks for your help @Martin KJELDSEN =)
Hello,I can run the GUI on the screen, however, for some unknown reason, the touch does not respond. I have tested the touch function separately in the while loop and it handles the x and y coordinates correctly with the same code and with checking the touch press (I mean what you see below inside sampleTouch, just without "return true", because return true will exit the while loop). Where is your definition of (0, 0), upper-left corner, or lower-left corner? I have tested both. nothing happens :(This is my implementation inside "STM32TouchController.cpp":bool STM32TouchController::sampleTouch(int32_t &x, int32_t &y) { if (XPT2046_TouchPressed()) { XPT2046_TouchGetCoordinates((uint16_t*) &x, (uint16_t*) &y); return true; } return false; }
I'm looking for some "production ready" boards with STM32 (F7 is ok) and LCD plus some GPIO connectors etc for tGFX application.I've found board from microE - but 300$ is quite over budget.Where can I find something similar?
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.