cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX Not working STM32F746G-DISCO

janid_a
Associate II

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.

Frozen Screen.jpg

- 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

 

17 REPLIES 17
GaetanGodart
ST Employee

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,

Gaetan Godart
Software engineer at ST (TouchGFX)

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).

 

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,

Gaetan Godart
Software engineer at ST (TouchGFX)

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

  • On MB1191-F746NGH6-C03:  Either flashing with TouchGFX or STM32CubeIDE I get this result

MB1191-F746NGH6-C03_Toggle Button Example.jpg

  • On MB1191-F746-C01:
    1. If I flash the board using TouchGFX Program and Run Target, the display shows properly but it does not interact after touching the light toggle button.
    2. If I build and flash it using the IDE. it works properly.

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

 

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 

Tips and Tricks with TimerCallback https://www.youtube.com/@eebykarl
If you find my solution useful, please click the Accept as Solution so others see the solution.

@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

OU
Associate II

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?

OU
Associate II

Unicode::snprintf(textAreaProgramNameBuffer, TEXTAREAPROGRAMNAME_SIZE, "%s", touchgfx::TypedText(T_ACTIVEWEARTEXT).getText());

Looks like the fault occurs when vnsprintf makes a call into strlen()

Hello @janid_a and @OU ,

 

Can you try to create a new project with an image and test the image in internal memory and in external memory?

This post had a similar issue, maybe this can help you.

 

I will come back to you later.

 

Regards,

Gaetan Godart
Software engineer at ST (TouchGFX)