Skip to main content
RRoon
Associate III
September 30, 2019
Question

Problem with STM32F746G DISCO and TouchGFX Demonstration program.

  • September 30, 2019
  • 9 replies
  • 4281 views

Hi,

I built the demo below (from STM32Cube-F7) and Flash the .hex file using CUBE-Programmer (with external loader enabled) it to my STM32F746G DISCO.

\STM32Cube\STM32Cube_FW_F7_V1.15.0\Projects\STM32746G-Discovery\Demonstrations\TouchGFX\SW4STM32\STM32746G-Discovery\.project

The display looks like the picture attached. Does anyone recognise this problem ?

(The Hardware is OK … as I can run STemWIn demo fine.)

Any ideas please ?

Richard.

9 replies

Martin KJELDSEN
Principal III
October 1, 2019

Before i ask you to send me the hex file did you try debugging? Is the application running but it's just the image on the display that's distorted?

/Martin

RRoon
RRoonAuthor
Associate III
October 4, 2019

Hi Martin,

yes the code is running. Unfortunately, with the F7 single-stepping/interrupt problem, I cannot meaningfully step through the code.

I have moved the Demonstration Code, cleaned workspaces, imported several times and the result is always the same.

I have enabled the external FLASH loader and used .hex file with CubeProgrammer . The result is always the same.

Regards,

Richard.

Martin KJELDSEN
Principal III
October 4, 2019

Could you send me the hex file? Just to see if it's a problem with your board. If not, then we can do some more digging, but i wouldn't rule out an issue with the configuration in that cube package.

Could you try creating an application through the designer for the F746G-DISCO? Those templates work for sure.

I'm seeing some patterns on your screen that are reminiscent of offset issues - Do the colors make sense to you when you compare with the assets used in the application?

/Martin

RRoon
RRoonAuthor
Associate III
October 4, 2019

Hi Martin,

HEX file attached.

I could try … but I've had such bad experience lately ….. tried to do something with CubeMX-IDE and TouchGFX …. which you know is a disaster …. and wasted so much time......

The colours do make some vague sense … and there is a "bar" along the bottom, which looks correct.. See attached asset.

When I touch the screen I do see some _very_ slight change in pixels at the top of screen....0690X000009k490QAA.png

Martin KJELDSEN
Principal III
October 8, 2019

I'm having the same issues you're having. What i think is that the Cube firmware package was not properly tested with respect to demos and examples. This distribution channel is very different from what we do in the TouchGFX designer where you can access all demos and examples.

\STM32Cube\STM32Cube_FW_F7_V1.15.0\Projects\STM32746G-Discovery\Demonstrations\TouchGFX\SW4STM32\STM32746G-Discovery\.project

Which compiler are you using? CubeIDE? Atollic? System Workbench?

Please just use the TouchGFX designer. Choose the STM32F746G-DISCO application template and select the example or demo that you want from the ui templates.

/Martin

RRoon
RRoonAuthor
Associate III
October 7, 2019

I can't believe this problem has been around for over 2 years! This person had the exact same problem : https://touchgfx.zendesk.com/hc/en-us/community/posts/115000161549-STM32F746G-disco-weird-screen-behavior What is the point of ST publishing examples of TouchGFx that don't work on their own hardware!

Martin KJELDSEN
Principal III
October 8, 2019

If you use the STM32F746G-DISCO template from the TouchGFX designer you'll have a working application - And it's worked ever since we had support for it. I don't think you're considering all the possible things that could go wrong here.

  

/Martin

RRoon
RRoonAuthor
Associate III
October 8, 2019

I understand your point Martin, but my point is still valid. These are supposedly working examples.....and they do not work. So, instead of assisting engineers evaluate Touch GFx, they are actually wasting engineers time and giving them a bad experience of TouchGFx.

It would not be good enough to just remove them from Cube F7 either. There needs to be some proper TouchGFx demonstrations that show the full capabilities on these the CPUs (F746, F769,etc.) that work out of the box.

I used System Workbench and got the result in the photo above. Yesterday I used MDK V5 and got a completely different, but still wrong result! See photo below.

0690X000009k9VkQAI.jpg

Martin KJELDSEN
Principal III
October 8, 2019

You're right in that respect - They should work! But claiming that this has been an issue for 3 years is inaccurate. But i realize that you're frustrated. Our demos and examples from within the designer have always worked on STM32 Boards. TouchGFX has not been part of CubeFW for more than a year and it seems that the demos and examples from the cube FW packs are not prioritized properly. Sorry!

You already have your demos and examples available through the TouchGFX designer. That's our teams main focus. Let me know if you need some help with that. I'll relay your concern to the firmware team,

Thanks for sharing!

/Martin

ChoppaD
Visitor II
November 16, 2021

Hello,

I think one thing that is missed throughout this thread is that the TouchGFX images are to be programmed into the "EXTERNAL FLASH". If you are using the STM32CubeProgrammer to do this, you need to follow these steps to use the External Flash Loader, to for the image to be located at 0x09000000. Otherwise the program is flashed to internal flash in the application space at 0x08000000.

How to download TouchGFX demo to ST32F746G-DISCO board

First step is to download the STM32CubeProgrammer and install it on your system. This tool enables you to flash the internal and external flash of the discovery board(s) and can be downloaded here: https://www.st.com/en/development-tools/stm32cubeprog.html

Now follow these steps to program the discovery board:

1. Connect the discovery board to your computer using an USB-cable

2. Open the STM32CubeProgrammer program.

3. Click on the "THREE HORIZONTAL BARS" at the top left of the screen, then select "External loaders" the icon has the letters EL printed on a chip which is circled. Select the N25Q128A_STM32F746G_DISCO device from the menu.

4. Click on the Erasing & Programming icon, and under the Download section, browse the path to open one of supplied demos or your project generated (.hex file).

5. Select and choose any programming options you want, and click the Start Programming button to start the download.

6. Wait for the download to succeed.

The board should now be programmed with the new demo. Disconnect the STM32CubeProgrammer and either reset or unplug/plug the discovery board.

Does it work?

Good Luck,

ChoppaD

SPolk.1
Visitor II
September 18, 2022

working for me, thanks!

Visitor II
October 15, 2024

Hi,

I know it is a bit late but I had the same issue. I solved it by editing the linker skript (STM32F746NGHX_FLASH.ld). Move the sections ExtFlashSection, FontFlashSection and TextFlashSection from QUADSPI to FLASH:

ExtFlashSection :
{
*(ExtFlashSection ExtFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH

FontFlashSection :
{
*(FontFlashSection FontFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH

TextFlashSection :
{
*(TextFlashSection TextFlashSection.*)
*(.gnu.linkonce.r.*)
. = ALIGN(0x4);
} >FLASH

 

If these section are in the QUADSPI I can see in the debugger that some pointers of data that resides there are invalid (pointing to a address below 0x20000000).

Visitor II
February 26, 2025

Hi, now that I'm testing the STM32F746G I've encountered the same problem, in my code I start by sending data to the output pins, and until the event ends the image is displayed on the screen, this is because the processing resources are not being used properly.How could I fix this problem?