cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to develop a UI Application with STM32H747I DISCO and Touch GFX

NDr
Associate

Hi *,

in the past couple of days I have been working intensively with my brand new discovery board, Cube MX and the Cube IDE.

MacOS was used as the development environment. Getting to know the hardware worked well - except for one or two obstacles 😉

In the meantime I changed the development environment to be able to develop a Touch GFX application.

The development environment is a fresh installed Windows 10 Home with the following ST-Electronics software

  • CubeProgrammer 2.8.0
  • Cube IDE 1.7.0
  • Touch GFX 4.17.0

In conjunction with using Touch GFX, I have encountered two problems that I am unable to resolve myself at this time.

Beyond that, I haven't found any more in-depth information in the community forum.

Problem 1 - Flash Touch GFX App via Cube IDE

A previously imported Touch GFX project cannot be brought onto the target using the Cube IDE. 

Problem 2 - TouchGFX UI with TextBox

As soon as I insert a textbox with text in TouchGFX, it is not possible to run the generated code on the target.

This means that it is not possible for me to develop an UI application using the mentioned tools.

I would be pleased if someone could point me in the right direction to solve the problems.

Regards

Details for Problem 1:

Step 1) First created a new project in TouchGFX Designer.

- STM32H747I DISCO

- Bit Depth: 24 bit

- Versions: 3.0.1

Step 2) Added a gray box to be the background on the one and only screen.

Step 3) Generate code

=> ok

Step 4) Run Simulator

=> ok

Step 5) Run Target

=> ok

But the console shows...

    Error: failed to download Segment[2]

    Error: failed to download the File

Step 6) Import existing project Touch GFX project into Cube IDE

Step 7) compile CM4

=> ok

Step 😎 compile CM7

 => ok

Step 9) flash CM4

=> ok

Step 10) flash CM7

=> fail

Error in final launch sequence:

Failed to execute MI command:

load C:\\TouchGFXProjects\\MyApplication\\STM32CubeIDE\\CM7\\Debug\\STM32H747I-DISCO_CM7.elf 

Error message from debugger back end:

Load failed

Failed to execute MI command:

load C:\\TouchGFXProjects\\MyApplication\\STM32CubeIDE\\CM7\\Debug\\STM32H747I-DISCO_CM7.elf 

Error message from debugger back end:

Load failed

Failed to execute MI command:

load C:\\TouchGFXProjects\\MyApplication\\STM32CubeIDE\\CM7\\Debug\\STM32H747I-DISCO_CM7.elf 

Error message from debugger back end:

Load failed

Load failed

Details for Problem 2:

Same TouchGFX Designer project. Just added a screen centered textbox with text.

Step 1) Generate code

=> ok

Step 2) Run Simulator

=> ok

Step 3) Run Target

=> fail

console shows...

    Error: failed to download Segment[2]

    Error: failed to download the File

Display stays black.

I also observed in another test a distorted display image.

2 REPLIES 2
NDr
Associate

One day off to think... 🙂

The hardware architecture of the board contains external flash memory.

This is used to store texts, fonts and images of a TouchGFX application.

The root cause of the error message Error: failed to download Segment as well as the Cube IDE error message did not become relevant in the first test, because neither texts, images nor fonts were used.

Only in the second test (with a simple text) it is necessary to feed the external memory with data.

In other words... I just forgot to use an external loader when flashing.

After I configured the appropriate External Loader in Cube IDE, the download works fine.

0693W00000D1kKBQAZ.png 

However, one issue remains.

I did not find a way to specify an external loader within TouchGFX Designer.

Therefore it is not possible for me to flash the firmware using the designer.

However, this is not a big deal for me.