2024-10-14 05:39 AM
I am facing some problems with TouchGFX 4.24.1.
After creating a project from Demos -> Board Specific Demo and selecting the STM32F746G-DISCO, and selecting the project: STM32F746G-DISCO Control LED from GUI. I got two problems:
- Problem 1: Frozen Screen and incorrect display of toggle button and light icon
Program and Run Target "F6", After flashing it
Memory Programming ...
Opening and parsing file: target.hex
File : target.hex
Size : 507.87 KB
Address : 0x08000000
Erasing memory corresponding to segment 0:
Erasing internal memory sector 0
Erasing memory corresponding to segment 1:
Erasing internal memory sectors [0 4]
Erasing memory corresponding to segment 2:
Erasing external memory sectors [0 5]
Download in Progress:
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0%
ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 62%ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 97%ÛÛ 100%
File download complete
Time elapsed during download operation: 00:00:07.805
Hard reset is performed
Done
Done
The light toggle button is not showing correctly and not interacting from the touchscreen.
- Problem 2: incorrect display of toggle button and light icon
After opening the project with STM32CubeIDE 1.16.0, compiling and running the project. It interacts but the LED icon and the toggle button are still displaying incorrectly.
(I have faced the some problem also with 1.16.1, but since TouchGFX suggests software tools CubeMX 6.12.0 and FW 1.17.2)
- Problem 3: Program and Run Target "F6", with TouchGFX fails sometimes
Compiling TouchGFX/target/TouchGFXGPIO.cpp
0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487
AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x1F0000, State 0x10000
C:\TouchGFX\4.24.1\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
gcc/Makefile:328: recipe for target 'TouchGFX/build/STM32F746-DISCO/TouchGFX/target/TouchGFXGPIO.o' failed
make[2]: *** [TouchGFX/build/STM32F746-DISCO/TouchGFX/target/TouchGFXGPIO.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [generate_assets] Error 2
gcc/Makefile:294: recipe for target 'generate_assets' failed
make: *** [all] Error 2
../gcc/Makefile:49: recipe for target 'all' failed
Failed
Failed
Can anyone help me to get TouchGFX running properly?
Thanks
Tools used:
- STM32CubeIDE 1.16.1 and STM32CubeMX 6.12.1
- STM32CubeIDE 1.16.0 and STM32CubeMX 6.12.0
with both TouchGFX 4.24.1 Designer and TouchGFX 4.24.0 Designer
Solved! Go to Solution.
2024-11-25 06:15 AM
Hello @janid_a ,
The issue occurs because that board got a new revision, it's memory got changed.
A new TBS (TouchGFX Board Setup) is available in TouchGFX Designer, therefore you should not face the issue anymore.
Regards,
2024-10-14 06:36 AM - edited 2024-10-15 12:50 AM
Hello @janid_a and welcome to the community!
I have been able to flash the demo on a STM32F746DK board.
Can you try to flash it again?
What happens when you flash from STM32CubeIDE or from STM32CubeProgrammer?
Can you test other demos?
Regards,
2024-10-14 06:47 AM
Flashing using the programmer or the IDE both running and Debug mode results in Problem 2; It is possible to interact with the toggle button by turning off and on the pool light , but the icons are not displayed correctly (Green and ugly).
I tried generating other demos or examples from the TouchGFX by specifying the Board, generating the code, running to target and they don't work!! (Also by opening the project with STM32CubeIDE).
2024-10-14 07:02 AM
Since it works on my side and it doesn't work for you on other demos and IDE, I would assume this is an issue with either your computer (compiler, dependencies, etc) or with your board (previous surtension, static electricity, etc).
Can you try on a different board or computer to try to isolate the issue?
Regards,
2024-10-14 08:34 AM
I made the test creating a project from Examples in ToughGFX, and selecting the Board STM32F746G. Using the Flex Button Example.
I did the test with two versions of the STM32F746G board: MB1191-F746NGH6-C03 and MB1191-F746-C01
It seems that the MB1191-F746NGH6-C03 has some issues. I will try with other C03 Boards and see if I can replicate the problem.
However when flashing both boards I kept encountering the problem and it flashes after some attempts I attach the logs:
C:\TouchGFX\4.24.1\env\MinGW\msys\1.0\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0
2024-10-14 09:08 AM
It's probably a compatibility issue.
I've tested the Flex button example on a STM32F746 MB1191 B-04 board and I don't see any issues
2024-10-14 07:28 PM
@Karl Yamashita
I see that the washing machine example functions correctly on B04 hardware, but the C03 hardware has issues with the colors being off and the bubbles on the screen saver render as pink boxes with a sphere in the middle. Not the correct Blue.
Could this be due to the C03 using a RGB888, instead of RGB565? Looking at the schematic for the C03 it has all R[0:7],G[0:7],B[0:7] connected to the display.
What kind of "compatibility issue" should we be looking for?
I have used LVGL with Zephyr 3.6 on both of these boards and that renders the same with no code change. It might be worth a look to see what they have done, since their code seems to be in a functional state.
SW Versions
Touch Designer 4.24.1
STM32CubeMXIDE 1.16.1
STM32 Cube Pack F7 1.17.2
2024-10-14 07:55 PM
Another odd thing that happens on the C03 hardware is that, if I debug I hit a hard fault when the washing machine exists the screen saver and tries to load a text label. The text is populated, and I don't see a reason why it would cause a hard fault. Maybe the snprintf function is the problem?
2024-10-14 07:59 PM
Unicode::snprintf(textAreaProgramNameBuffer, TEXTAREAPROGRAMNAME_SIZE, "%s", touchgfx::TypedText(T_ACTIVEWEARTEXT).getText());
Looks like the fault occurs when vnsprintf makes a call into strlen()
2024-10-15 12:52 AM - edited 2024-10-15 01:13 AM