Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I am a new user of an STM32F769I-DISCO MCU and the problem I'm having is with one of the examples called "BSP". I'm using the STM32CubeIDE to build and run the files. The program does build and run successfully. However, the TFT LCD display looks really noisy: it looks like one of those old CRT TV noisy channels (picture below). The part that produces this noise is the function BSP_LCD_Init() in the 100th row of the main.c file, which can be found here: (new members can't post links, but it's the BSP example, that can be found by Googling bsp example stm32f7.)The rows after this function don't do anything, and the picture stays noisy.The funny thing is that this is an example that comes with the IDE, but it doesn't work for some reason. I already tried this with my laptop and my PC and it comes up with the same result.Thanks in advance!
Have used TouchGFx for my early application which work on STM32F7 series. So, I need to know how to start my GUI applications with STM32H7 dual core MCU's
to draw the unicode 'q' character for example we can use this instructions:void CustomContainer::draw(const Rect& invalidatedArea) const{ Font* font = FontManager::getFont(Typography::DEFAULT); if (font != 0){ // Setup visuals for h-center of "string" LCD::StringVisuals visuals; visuals.font = font; visuals.alignment = CENTER; visuals.color = colortype(0xFF0000FF); Unicode::UnicodeChar character[2] = { 0, 0 }; uint16_t fontHeight = font->getMinimumTextHeight(); Unicode::UnicodeChar c = 'q'; if (c != 0){ Rect Area1(50,20,40,20) ; uint16_t offset = (Area1.height - fontHeight) / 2; Rect invalidatedAreaRelative = Area1& invalidatedArea; Area1.y += offset; Area1.height -= offset; invalidatedAreaRelative.x -= Area1.x; invalidatedAreaRelative.y -= Area1.y; character[0] = c; translateRectToAbsolute(Area1); HAL::lcd().drawString(Area1, invalidatedAreaRelative, visuals, character); } } }now how to displa
I am running a simple task on the M4 core which I want to clearly separate from the M7 core, which runs the GUI (TouchGFX generated). Since I am only running a single task on the M4 I would not need an RTOS for reasons of functionality. However, I have seen some strange behavior that made me wonder whether there was some dependency between these two cores (Each should be completely independent of the other, except for shared resources, right?). My plan is to communicate data between these cores by using semaphores and the shared memory area as specified in the datasheet. Can this work or does the M4 HAVE to run an RTOS as well, using a single (default) task?
..
Example screenshot:
HiI try to implement the application of Mip DSi Video Mode from TouxGFX manual..I have the init string to send to display before active , but the command don't out to DSI.What is the problem ?
hello everyone i'm a beginner here,i have successfully using my DIY board to that the SPI LCD work without TouchGFX the color and reaction was great.MCU:stm32wb5mmgLCD driver:st7789Display:240x240pixels,RGB565now i want to use TouchGFX in this project, i try the stm32wb55RG NUCLEO AZ1 demo project in TouchGFX with stm demo board and it work perfectly,i notice the demo board have the TE pin and external FLASH memory(MX25L6433F)that my DIY board don't have.Is there possible to use touchgfx in my DIY board(without TE pin and external FLASH memory)?Tony.
i have stm32h750vbt6 and i want applied with TFT screen http://www.lcdwiki.com/4.0inch_SPI_Module_ST7796in test demo is work then i don't know can use with TouchGFX or not
When defining a fade duration of e.g. 350 msTouchGFX generates a tick time of 21 ticks based on the 60 Hz LCD update rate.My LCD now had to be adapted to only have an update rate of appx. 30 Hz. Then the fade duration is double in time. Is there a way to define the number of ticks which TouchGFX uses per 100 ms or maybe the LCD update rate, so the used number of ticks fits to the wanted time?Thanks for any proposals. BR GS
I found a nasty effect after generating code with TouchGFX designer (V. 4.21.4):In my project there is an additional include path, which is located in a different location as the touchGFX project on drive C. Every time after generating code, the files which are located there are no longer found and I need to define that include path again. The path entry however seems to be still in the list, but I have to enter the path explicitly and simply pressing ok does not help. The name of the path is (maybe this information helps to find the problem):C:\Eigene Dateien\Projekte\ARM\Project\xProTT_Common\IncMaybe I will have to move the files because I need to regenerate code very often from now on for the project...Any help or idea very welcome!
Hello all,I'm using the HAL library for the camera, specifically I'm using the function: HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef *hdcmi, uint32_t DCMI_Mode, uint32_t pData, uint32_t Length)In the function are many return HAL_ERROR, and one HAL_OK. When the function works fine It return a 0, but when I have an error it return 2.Why It retuns 2 if the HAL_ERROR is defined as 1 when I have an error.
Developing complex applications can be tricky, often with pages stuck for several minutes
touchgfx:paint:tearDown(); Trying to add a definition doesn't work either
I am using external flash (16Mb) for TouchGFX resources (normaly in memory mapped mode). I would also like to save some parameters to external flash in runtime while using the application. Bellow is current code handeling writing to external flash (using EEPROM) library. eepromCtrl function is called in separate task every 25ms. inside I check the queue if there are some things to save to external flash. If there is something then I call taskENTER_CRITICAL();, disable some interrupts, exit memory mapped mode, write paramter to external flash starting back memory maped mode enabeling interupts taskEXIT_CRITICAL();This works ~90% of the time but sometimes crashes. What can I do better? void eepromCtrl(){ uint8_t EEpromQueueFillLevel = uxQueueMessagesWaiting(Queue_To_EEpromHandle); if((EEpromQueueFillLevel <= 0) || !enableEEpromWriting){ return; } eepromWriteCount++; baseType = xQueueReceive(Queue_To_EEpromHandle, &eepromQueueMsg, 1); if ((baseType == pdPASS) && (e
My company has strick internet security. So TouchGFXDesigner is not connected to the internet. Can I use TouchGFXDesigner without Internet?So there is another PC installed Linux. Internet security for Linux is not very strict. If possible, I want to use TouchGFXDesigner at Linux PC. Is it possible?
Hello,I found a bug or maybe a feature When I add a new image to assets/images directory in my project it appears in the TouchGFX Designer but I cannot use it. It is so because it is shown as a direcotry, not an image file. Sometimes using Generate Code helps with that, sometimes I have to choose another image and when I again try to choose the new one it shows up as an image, not directory. Below you can see a screenshot showing this issue: Regards, Piotr
HiI'm development a board with STM32F779a cpu connect with dsi display.I create the graphic wit TouchFX tools and included in the STM32cube ide design software.How example I see STM32f769i-disco demo, and received the init code of display by producer.My problem is that the DSI Host not run, no signal appare , I'm monitoring with oscilloscopie.What may be the problem ?int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LTDC_Init(); MX_CRC_Init(); MX_DSIHOST_DSI_Init(); MX_FMC_Init(); MX_QUADSPI_I
13:05:53 **** Build of configuration Debug for project C7 **** make -j12 all arm-none-eabi-g++ -o "C7.elf" @"objects.list" -l:libtouchgfx-float-abi-hard.a -mcpu=cortex-m7 -T"C:\Users\martynasveit\Desktop\C7_2(20230226)\C7_SVN\STM32H743ZITX_FLASH.ld" --specs=nosys.specs -Wl,-Map="C7.map" -Wl,--gc-sections -static -L"C:\Users\martynasveit\Desktop\C7_2(20230226)\C7_SVN\Middlewares\ST\touchgfx\lib\core\cortex_m7\gcc" --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group c:\st\stm32cubeide_1.11.2\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.100.202210260954\tools\arm-none-eabi\bin\ld.exe: cannot find -l:libtouchgfx-float-abi-hard.a collect2.exe: error: ld returned 1 exit status make: *** [makefile:133: C7.elf] Error 1 "make -j12 all" terminated with exit code 2. Build might be incomplete. 13:05:57 Build Failed. 2 errors, 0 warnings. (took 4s.339ms)
I want to implement a bare bones TouchGFX bootloader application that provides text based feedback for status & %programmed. The idea is for the bootloader to be in FLASH sector0 and for it to be able to program a more complex TouchGFX based application into FLASH sectors1-15 from an image on a SD-card. Trouble is, TouchGFX pulls in lots of stuff not needed for a text based application and so leaves ~20k for the bootloader code after hacking it out manually & turning on full optimisation.Is there an easy way to build an absolute minimum sized image using TouchGFX with text-only support without hacking generated & library code ?
Every project generated from TouchGFX Designer is based on C++ (file .cpp). Is there a possibility to have project generated from TouchGFX Designer based on C only (file .c)?Also are there any examples from TouchGFX Designer where the codes are in C?
Hello,I am usual of Stm32CubeIde. I try first time TouchGFX V 4.21.3 with H747 DISCO.TouchGFX simulator is well working. But after generating (clicking on the project icon in C:\TouchGFXProjects\MyApplication_1) the project in Stm32CubeIde, the build project is not possible. The reason seems to be no file 'MyApplication_1.ioc' .I probably miss something. Thanks, if you could help.Best RegardsRobert
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.