Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I was design a custom board with a MCU STM32F767BI, a LCD with 800x600 pixels and a SDRAM with 64Mb. I'm getting a HardFaultHandler after run some time the aplication and it faults inside the process GUI_Exec() according to the PC register. Analizing the fault details, the PRECISERR bit is set and the BFAR has the address 0x480772a4. This address hits in a "Reserved" region in the memory mapping, between AHB2 and AHB1.The configuration of the LCD-TFT and SDRAM is according to the specifications of the manufacturer and I suspite the problem could be the MPU/cache configuration. The framebuffer is allocated in the top of the SDRAM and his size is aprox 1Mb (800*600*16bpp)I'm setup the MPU and the cache with the following regionsInternal RAM - 0x20000000(512Kb) - Normal Memory non cacheable, Full access (TEX=1, C=0, B=0, S=1, XN=0)FMC SDRAM Bank1 - 0xC0000000(256Mb) - Strongly Ordered, No access (TEX=0, C=0, B=0, S=0, XN=1)FMC SDRAM Chip 64Mb- 0xC0000000(64Mb) - Normal Memory cacheable WT
Hi there. Do you guys know by any chance if TouchGFX-related code generation issues have been resolved in the new version of STM32CubeIDE (v. 1.0.1)? Is it worth/safe to upgrade?
Hi, I am using DCMI peripheral on STM32H7 to capture an 320x240 monochrome image (1 byte per pixel) and DMA to transfer it to D1 SRAM. DMA uses FIFO, Threshold: Full, Data width: Word for both source and destination.I would like to make a copy of that image array so I can analyse it while the original array is filling in with a new frame. I have done this using another DMA Memory-to-memory and it works great.The problem is I have to manually start the DMA Mem-to-mem transfer. So I was thinking of using MDMA which can be hardware triggered by DCMI DMA. I have spent whole day of trying to get MDMA working in that way, but I always get unsatisfactory results, i.e. sometime only cca. 50 image rows of 240 total are copied to the new array and sometimes none are copied. I tried to configure MDMA using CubeMX and change settings like:Triger mode: Buffer transfer, block transfer, Repeat block transfer and Full transfer. List type: Linear, Circular and Buffer Length.I also tried
Hello,is it possible to use VS for coding the hardware integration side of a TGFX-Application?I tried the following:I downloaded the example project from here.When I tried to make some modifications to model.cpp the Intellisense didn't find any commands relatet to the BSP. My guess was, that because "SIMULATOR" is definded, all the code relatet to the BSP is being ignored as it sits inside an #ifndef-block.Because I could not find a way to "undefine" SIMULATOR I changed the code from#ifndef SIMULATOR #include "stm32746g_discovery.h" #endifto#include "stm32746g_discovery.h"But this just resulted in a "File not found"-Error.Adding the file's folder to the project resulted in even more errors due to missing files and datatypes.So I guess my question is: Is it possible to use VS for all the coding (using the TGFX-Designer to compile for target)? I am not aiming at compiling from VS (this would be a bonus, of course ;) ).Or do you recommend using VS only for the GUI/Simulator and using a di
Hi all,I'm using touchgfx with stm32f769 in a board with hardware buttons and hardware knob (rotary encoder). I have more screens and the knob is used to change values that are different for every screen. Is there an example on how I can implement in the proper way the MVP software?Thank you Best regardsStefano Casson
I tried to create a TextBox widget which derived from Box widget and TextArea widget. Because of its multiple inheritances, I also made minor changes to library files by adding keyword "virtual" to solve ambiguity error("base class"touchgfx::Drawable" is ambiguous). Project compiled but it still didn't work. I would like to know how to create a custom widget class if it's possible. Thank you.
I want to express the value of 0x000000 ~ 0xFFFFFF in real time graph.The graph of the currently provided demo code should continuously update the entire graph, but I want to show the cumulative data. I want to update the last data continuously like the FIFO function.do you have any idea?@Martin KJELDSEN
Hi All,When I tested this example, I made one change is to use Circular and the error is showed below:Seems the item not match, can you help me to fixed it, thanks very much.
Hello,we are working on P-l496G-Cell01 board. we compile and debug demostration code which work fine. Now we want to buy Cell01(Quectel UG96) ,Cell02 (Quectel BG96), and TFT display (LCD FRD154BP2902-CTP).Please anyone suggest me how and where we can find this modules is it available on ST ?Any little help will greatly appreciated.Thanksregards,Sadik Pinjari.
GreetingsIn my current project i need a way to change the whole project style, so for now i'm changing just the background. my default background is just a colored box, but if another style is selected i wanna set an image as background, and thats is done easily, but i can't figure out how to move the just created behind pre-existing objects. I saw that in the viewBase class the object order is just the order which they are created, no functions to set their order (as far as i know), so i can't create my image as background, because the viewbase class is called before my implemantation. A temporaly solution found was creating the image in the designer with no image set (or with .setVisible(false)), but i was hoping for a better solution.Thanks for any suggestion.Stefano
I'm looking for the source code of touchgfx_demo2014_240x320, I could only find the .hex file for the STM32F429I-Discovery board. It used to be available in old versions of TouchGFX designer under <touchgfx install dir>/app/demo/. Thanks in advance.
I'm trying to play with STemWin (I can't use TouchGFX because I'm on Linux) on the STM32F429iDiscovery board. When I create my project in STM32CubeIDE and build, it's clear that the STemWin libraries are not part of my project. I can create a folder in my project, copy STemWin_CM4_wc16.a there, rename it with a 'lib' prefix, and add a library path and file in the project settings and get it to compile (though the code will then compile and download to the target, it still won't run properly.)FEATURE REQUEST: When GRAPHICS -> STemWin is enabled in CubeMX, the GUI should ask the user whether to use the 16- or 32- bit wchar version, whether or not to use speed optimized version, and whether or not to use the RGBA version of the library, and the library should automatically be included in the project. The project should build with no linker errors without the user manually moving libraries around or changing the project settings for library paths.
My touchGfx is apparently doing a bad code generation, i'll explain better.I had a screen, let's say named fooScreen, so touchGFX generated fooScreenViewBase, fooScreenView and fooScreenPresenter.Now, i renamed the screen in barScreen (ok, not really using foo and bar, i'm using specific name for my application, but i don't think the name matters, no space, special characters ecc)and ofc TouchGFX generated barScreenViewBase, barScreenView and barScreenPresenter. The problem is that i still have the fooScreenView and fooScreenPresenter folders with corresponding .cpp and .hpp files in it.when i try to compile OFC i have unresolved symbol. i manually deleted from visual studio those 2 folders, and it compiles fine, but after a while TouchGfx regenerate them (not the view base, just the view and the presenter folders).Any way to fix this?Tnx
I selected "STM32F769I-DSCO" and configured "Tiled imgae" and executed "Generate code", "Error during code generation" occurs.However, if you run the same procedure and method on another PC, the code will be generated normally.It is a symptom to remove the program and reinstall it.Please help me if you know why.
https://touchgfx.zendesk.com/hc/en-us/articles/207282555Hello I need to make a scroll whell just like specified at link above. But I think that this article needs to be improved more.When I apply the steps in this article, all the icons and texts in the whell becomes same with others.And I want to add callback functions to all icons in the whell just like in the link below, but this article also needs to be improved also (I think).https://touchgfx.zendesk.com/hc/en-us/articles/360018398832-Scroll-WheelI can't change the icons and texts in the whellI can't add callback functions
Hello,I tried different things as explained in the following topics : https://touchgfx.zendesk.com/hc/en-us/articles/360020208091-Configuring-STM32F769I-DISCOandhttps://touchgfx.zendesk.com/hc/en-us/articles/360020001492-Getting-Started-with-CubeMX-and-TouchGFXAnd for each I have some compilation errors.Where can I find a step by step explanation to success for creating a software environment including TouchGFX and Atolic ? Or is there a guide to make it ?My objective is to create a blank project from demo board in a first time and for a custom board after. I have an old project wich is working on IAR, but for the new one I would like to work with Atolic.Best Regards,Alexis
Hi all,Recently, I build a project with TouchGFX for STM32H743,and the total files are more than 2MB,so I have to use external flash memory(W25Q256).Then, I am trying to use QSPI interface to connect external memory and execute in interrupt method.But I have no ideal how to build the function,can any one help me or provide source code?By the way, I have already added the algorithm about W25Q256,and the other initialize was done , backlight was turned on.Thanks!
hi i am using the STM32f746-discovery development board and i want to connect a 800 x 800 screen. I haven't yet received the screen I ordered ,but i started to make the application on 800x800 resolution .everything runing good on the 480x272 (half window), but when i tried to change the resolution in the cube to 800x800 in the ltdc tab and in the graphics tab , the application start to run with a low frame rate and everything became slowley.i guess the cause is that now the mcu have many more pixels to fill ,so i tried to rise the clock for the ltdc in the clock tabs ,it seems to be fine at the begining but after few windows the app crashed. so i tried a different way , my screen size is 3.4" and my pictures are not complexity , so my questions are:1)can i work with a resolution of 400x400 on a screen of 800x800 and still to be able to see everything on the same size ?2) there is other way to handle that issue?3) does the hardware have the capebility to that ?thanks Avi.
as title say, my current project is getting a little messy, i'd like to reorder the Texts resources i've made so far. Any way to do that without deleting and recreate in the correct order all the resources?ThanksStefano
where could i find the the BMPFileLoader class menthioned in website ( https://touchgfx.zendesk.com/hc/en-us/articles/207460605-Dynamic-Bitmaps-Load-images-at-runtime)it says,"The BMPFileLoader class used in the example can be found in the "dynamic_bitmap_example" provided with TouchGFX."where is the example?how to download?
GRAPHICS_Init() in BoardConfiguration.cpp is continuosly overwritten when I generate a new project with CubeMx 5.0 and this is particularly boring as I have to use my custom initialization for the LCD (specifically the LANDSCAPE orientation). Is it a bug of CubeMX ? Is there a way to tell CubeMX not tou touch that function?
Please excuse me if this is a very basic question. I created a screen with a couple of buttons on it and a text area with a wildcard on it to increase in value when one button is pressed and decrease in value when the other button pressed. This works fine without any problems.However, the next thing I did was add code to the screen to a needle "Shape" that will be rotated in one direction when a button is pressed and in the other direction when the other button is pressed. This was all done by editing the code of the screen instead of using the TouchGFX gui. This works fine as well.However, the buttons and the text area created in the TouchGFX gui are not visible with the added code for the needle. I see there is a way to set the Z order within the gui but the needle I added in code is not available in the gui. I can click in the area where the button is located (but not visible) and the needle rotates as expected.The items in the gui are located in the view "Base" files which are gui_
When drawing large ellipses, STemWin will not display them as an ellipse, but instead as this zigg-zagged-pattern, which you can see in the attached picture. Has anyone ever encountered a similar issue? Is there any kind of support for these kind of bug from ST side?GUI_AA_FillEllipse(200, 400, 200, 400);
Hi~I have a problem to configure LCD display of STM32F469 discovery.I'm using STM32CubeMX 5.1.0 + TouchGFX 4.10.0 + IAR Embedded Workbench 8.32.1.My project was created by STM32CubeMX 5.1.0 - STM32F469I-DISCO board.I changed display mode from 400*480 portrait to 800*480 landscape in accordance with guideline.Picture is well displayed on 800*480 LCD.But leftside picture 400*480 is copyed on right side.In source code STM32F4HAL_DSI.cpp,when update Region, LCD_SetUpdateRegionLeft() and LCD_SetUpdateRegionRight()is same result.What is fuction name whitch I check?
As I knowSTM32F412 is STemWin supported.. But I can't choose STemwin from the Middleware list. What I'am doing wrong?
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.