2021-01-01 11:11 AM
Hi all,
I'm new on ST word, but I want to learn how realize graphic interface with gfxstudio.
I bought a board with STM32H743VIT6 (some more infos here: https://github.com/WeActTC/MiniSTM32H7xx)
I installed GFXstudio (v4.16 - v4.15 and v4.13) on STM32CubeIDE 1.5.1.
I create a new project (C++), I choose the right uC and I configured all peripherals to
manage an external TFT 480x272 display (via LTDC)
I designed a simple Screen with a picture and 2 buttons, then I generate the code from GFXstudio 4.16 and it works without problems.
When I try to compile the project on Stm32CubeIDE I see a lots of missing files and patch witch block the compiling process.
Every time I insert a new patch, i receve a new error cause a new file is missing.
I would like to know some simple things to start my first project:
1) Why I must insert all the patch to locate the files needed by project? is it possibile do it automatically?
(some of missing files:
touchgfx/hal/OSWrappers.hpp: No such file or directory
touchgfx/widgets/graph/AbstractDataGraph.hpp: No such file or directory
touchgfx/widgets/graph/GraphElements.hpp: No such file or directory)
2) I change the setting from gfxStudio to load assets (image and text) from internal FLASH. How I can access to the external resources?
in other words, I configured also QUADSPI(2) but "external Data Reader" is always not settable.
3) How can I connect Touch Screen press/release action to the graphic stack?
Can someone help me for my first project? Can someone check my project and adjust the wrong settings? Or does someone has some ready project fro this uC family?
For the moment I would like only to see my design appear on the TFT display.
In the 2nd step I would like to load data from external SPI and interract with touch screen
PS: I tried to load some ready project/template from GFXstudio, but everyone generate errors while compiling (on STM32CubeIDE)
In the attachment, my simple project.
Thanks a lot in advance
Solved! Go to Solution.
2021-04-01 10:27 AM
Hello MPast.1
Thanks for your help, but i still have some problems.
as you did, i followed all of steps of below as well.
I'm using the TouchGFX 4.15 instead 4.16
1) FREERTOS = I changed some "Config parameters" copying H7B3DKsettings -> DONE
2) FREERTOS = i changed Heap size, I replaced the StartDefaultTask with TouchGFX_Task and increased stack size to 4096 -> -> DONE
3) I checked if TouchGFX_Task function wasn't present MX_TouchGFX_Process(); -> -> DONE
4) on SOFTWARE PACKs--> TOUCHGFX 4.15 = I changed Buffer Location setting to "By Allocation" -> -> DONE
5) on LTDC --> Layer Settings = I changed Layer 0 - Color Frame Buffer Start Address to ZERO -> -> DONE
In TouchGFX Designer i changed to Internal Flash
One last thing that i saw is the files FLASH and RAM ".ld"
FILE FLASH.LD
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20020000; /* end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x1000 ; /* required amount of heap */
_Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 2048K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
AXI_SRAM (xrw) : ORIGIN = 0x24000000, LENGTH = 1024K
AHB_SRAM (xrw) : ORIGIN = 0x30000000, LENGTH = 128K
}
I really don't know, if i have to change this part to increase the RAM size or the CUBEIDE make this without any changes.
FILE RAM.LD
/* Entry Point */
ENTRY(Reset_Handler)
/* Highest address of the user mode stack */
_estack = 0x20020000; /* end of RAM */
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x1000 ; /* required amount of heap */
_Min_Stack_Size = 0x1000 ; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
RAM_EXEC (xrw) : ORIGIN = 0x24000000, LENGTH = 1024K
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
AHB_SRAM (xrw) : ORIGIN = 0x30000000, LENGTH = 128K]