2023-09-19 03:00 AM
I activated TouchGFX in CubeIDE (...->...-> TouchGFX Generator ),
made the default project settings, generated code, but when I double-click from the file xxxxxxxx.tuchgfx.part
I want to open TouchGFX, at the beginning I get a warning that
<<< The path E:\PORCER STM32\my_F429i_5\TouchGFX contains spaces, this can result in erroneous behaviour
while compiling >>>
and then when I enter TouchGFX,
during generation code gives
<<< Generate Assets
make -f simulator/gcc/Makefile assets -j8
simulator/gcc/Makefile:20: *** Spaces not allowed in path. Stop.
Failed >>>
2023-09-19 03:11 AM
please help me, I don’t know what else to try, I even got into folder TouchGFX -> ... simulator ->gcc -> makefile and passivated this lines
<<<
ifneq ($(words $(makefile_path))$(words $(MAKEFILE_LIST)),11)
######### all clean assets:
######### $(error Spaces not allowed in path)
######### else >>>
2023-09-19 03:43 AM
Hello
You cannot have spaces on the path, so you must modify it (/porcer stm32/ has space)
Br J.T
2023-09-19 01:51 PM
yes indeed, I didn’t notice this, thank you very much, but right now in Cube IDE during build it gives this 3 error---
1---make: *** [makefile:113: my_f429i_6.elf] Error 1 my_f429i_6 C/C++ Problem
2---my_f429i_6.elf section `.bss' will not fit in region `RAM' my_f429i_6 C/C++ Problem
3---region `RAM' overflowed by 8824 bytes my_f429i_6 C/C++ Problem
although in TouchGFX I added only one button.
Plus, the file <TouchGFXGPIO.cpp> didn’t see the variable type <
GPIO_PinState> present in the file <stm32f4xx_hal_gpio.h>, which is very strange in my opinion, I just artificially added a declaration of this variable to the file <TouchGFXGPIO.cpp>
2023-09-20 08:59 PM
Hello
Can you share your project ? Are you using custom borad ? You may need to set framebuffer to the external RAM if available.
Try to include main.h to the touchgfxgpio.cpp
Br J.T
2023-09-23 04:41 AM
my board isSTM32F429i-disc1
and my cube IDE project link is
https://drive.google.com/drive/folders/1FCyBR4qpZIYBE5kBbkqAcM2VoraWX_dN?usp=drive_link
2023-09-23 09:30 PM
Hello
Unfortunately download link is not working :(
Br J.T
2023-09-24 09:03 AM
I fixed the link https://drive.google.com/drive/folders/1FCyBR4qpZIYBE5kBbkqAcM2VoraWX_dN?usp=sharing
how to combine the code created by the program Touch GFX and the code created by the program Cube IDE .
as I understand ,
when the code with the program is created Touch GFX and then this project is implemented in Cube IDE and
everything compiles fine.
But when you make even one change in file xxxxxx.ioc, for example add to the same USB_OTG HS mode Vertual COM Port , and then try to compile, errors begin.
for example
usbd_def.h: No such file or directory main.c ,
and when we add path for that (project->properties->C/C++ builds->MCU GCC Compilers->Include path ..... ) then errors getting bigger .
2023-09-25 11:49 AM
Ok, I check it little bit. Your RAM region overflow seems to be caused that you dont have Sdram at all in the linker .ld file. So its probably not generated by TGFX ?
I have same Discovery board here, so I test and write down how to generate project in Tgfx and then modify it with CubeMx.
1. Open Tgfx designer (4.22.0 used here), create new project for F429DK. Put some stuff to screen 1, button for example and some background box.
2. Generate code in Tgfx Designer. You can run it on simulator or target to make sure it works.
3. Import project manually to CubeIde (1.13.1 used here). Import both folder which are found, then you see the directory structure more clearly. Compiling should work fine (you must select IDE- STM32F429-DISCO from Project explorer to get compile function (hammer icon) available). You can use for example CubeProgrammer to download .hex file to target from folder \ProjectFolder\STM32CubeIDE\Debug. (or use debugger if you like).
4. If you try to doubleClick .ioc-file in CubeIDE, it wont open since its is wrong name 'Invalid Input: Must be project's active .ioc file' it most likely says.Open desktop version of CubeMX (install if needed). (6.9.1 used here). Open manually the .ioc file to the CubeMX.
5. Then you can regenerate code from CubeMX and it should compile fine in CubeIDE. You see that you have all Discovery board peripherals already configured in CubeMx since .ioc file was generated by Tgfx -designer.
6. You should be also able to open open .touchgx- file to tgfx designer and modify and regenerate it and then compile it succesfully in CubeIDE
Hope this helps somebody, this type of procedure I have been able to succesfully generate projects for evaluation boards and also been able to regenerate code from CubeMX.
Br J.T
2023-10-22 08:20 AM
I'm creating a project in TouchGFX STM32F429I_DISCO_REV_E01...
and generate the code, replace the name <STM32F429I_DISCO_REV_E01.ioc> in <my_a1.ioc>
By the way, as I understand it, there are 2 files in the TouchGFX folder
(ApplicationTemplate.touchgfx.part) and (my_a1.touchgfx )
we also need to open it in a text editor , and change the name
STM32F429I_DISCO_REV_E01 to name <my_a1> (otherwise, in future we cannot change anything in TouchGFX and generate code.)
After this, we can compile and <run> the program into a module without errors.
BUT then it’s enough to change something in TouchGFX(for example add Button) generate code, after that
make an upgrade in < CubeIDE > , compile , AND WE GET ERRORS in CubeIDE .
Description Resource Path Location Type
undefined reference to `image_alternate_theme_images_widgets_button_regular_height_50_medium_rounded_normal' STM32F429I-DISCO
line 0, external location: C:\ST\STM32CubeIDE_1.13.1\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.
gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506\tools\arm-none-eabi\bin\ld.exe:
.\Application\User\generated\BitmapDatabase.o C/C++ Problem
Description Resource Path Location Type
undefined reference to `image_alternate_theme_images_widgets_button_regular_height_50_medium_rounded_pressed' STM32F429I-DISCO
line 0, external location: C:\ST\STM32CubeIDE_1.13.1\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools
.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506\tools\arm-none-eabi\bin\ld.exe:
.\Application\User\generated\BitmapDatabase.o C/C++ Problem
does this mean that <TouchGFX> becomes unsuitable for non-primitive projects
if the developer decides to change (add) something during the project?
but it shouldn’t be like that, the program seems to be serious,
what could be the problem? .
By the way, can I put some clarifying pictures here?