cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f746g-disco, touchgfx

AReza.1
Associate II

TouchGFX 4.15.0 and ST-LINK 4.6 and CubeProgram 2.6.0 installed to our system Windows 10 64Bit. Board Development STM32F746G Discovery.

I'm tring to run touchgfx samples on the STM32F746G Discovery, every thing goes well and it seems code download completed but display shows nothing but noise.

i found one error in the report:

Producing additional output formats...

     target.hex  - Combined internal+external hex

     intflash.elf - Internal flash, elf debug

     intflash.hex - Internal flash, hex

     extflash.bin - External flash, binary

    Done

  Flash

    make -f ../gcc/Makefile flash -j8

    Reading TouchGFX/application.config

    Linking TouchGFX/build/bin/target.elf

    Producing additional output formats...

     target.hex  - Combined internal+external hex

     intflash.elf - Internal flash, elf debug

     intflash.hex - Internal flash, hex

     extflash.bin - External flash, binary

       -------------------------------------------------------------------

                STM32CubeProgrammer v2.6.0          

       -------------------------------------------------------------------

     

    Error: External loader C:\Program cannot be loaded.

    Error: External loader Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader\N25Q128A_STM32F746G-DISCO.stldr cannot be loaded.

    ST-LINK SN : 066FFF535348726587113234

    ST-LINK FW : V2J37M26

    Board    : 32F746GDISCOVERY

    Voltage   : 3.21V

    SWD freq  : 4000 KHz

    Connect mode: Normal

    Reset mode : Software reset0693W000006EGG2QAO.jpg    Device ID  : 0x449

    Revision ID : Rev Z

    Device name : STM32F74x/STM32F75x

    Flash size : 1 MBytes

    Device type : MCU

    Device CPU : Cortex-M7

     

     

     

    Memory Programming ...

    Opening and parsing file: target.hex

     File     : target.hex

     Size     : 675352 Bytes

     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:

    Download in Progress:

    ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± 0%

    ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 47%ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ 100%

     

    File download complete

    Time elapsed during download operation: 00:00:07.627

     

    Hard reset is performed

    Done

  Done

1 ACCEPTED SOLUTION

Accepted Solutions
N. SANTINI
ST Employee

Hi,

This is due to the external loader file required to program the external FLASH that contains the input bitmaps.

Try this :

  • launch CubeProgrammer
  • click on the "EL" button on the left side panel
  • type "F746" in the search bar and select the only external loader displayed:

0693W000006EKUXQA4.png

  • Then go to the programming panel
  • Open the "target.elf" filethat should be in "<your project>TouchGFX\build\bin\"
  • Click on "Download".

0693W000006EKVaQAO.png 

For your information the path to both CubeProgrammer and external loaders are hardcoded for the Designer and I guess something is wrong in your case, you can edit them in the "<your project>/gcc/Makefile" file around line 113-114, seems like $(PROGRAMFILES) variable contains spaces.

Best regards,

Nicolas

View solution in original post

11 REPLIES 11
N. SANTINI
ST Employee

Hi,

This is due to the external loader file required to program the external FLASH that contains the input bitmaps.

Try this :

  • launch CubeProgrammer
  • click on the "EL" button on the left side panel
  • type "F746" in the search bar and select the only external loader displayed:

0693W000006EKUXQA4.png

  • Then go to the programming panel
  • Open the "target.elf" filethat should be in "<your project>TouchGFX\build\bin\"
  • Click on "Download".

0693W000006EKVaQAO.png 

For your information the path to both CubeProgrammer and external loaders are hardcoded for the Designer and I guess something is wrong in your case, you can edit them in the "<your project>/gcc/Makefile" file around line 113-114, seems like $(PROGRAMFILES) variable contains spaces.

Best regards,

Nicolas

Alexandre RENOUX
Principal

Hello,

This is a CubeProgrammer bug that was reported and is going to be fixed on next CubeProgrammer version 2.7

If using the standalone CubeProgrammer as Nicolas SANTINI explained is not a long-term solution for you, I recommend you to revert to CubeProgrammer 2.5.0 and everything should be fine 🙂

/Alexandre

Sasha_
Associate III

Hello,

Did you choose External Loader?

Right click on project -> Debug As/Debug configurations...

In "Debugger" check "External Loader". Then "Scan" and select your board.

Romain DIELEMAN
ST Employee

Hi @AReza.1​ ,

Were you able to solve your issue with the different replies ? If yes, could you select Alexandre Renoux's or Nicolas' answer as "Best Answer"

/Romain

Hi @N. SANTINI​ 

I could load my code by using programmer and external loading option.

but the question is when touchGFX generally puts images on the external flash and touchGFX has "Run Target" option which cannot load external flash, why there is a "Run target option ? is it depends on images size or I have to select internal flash for images to can load project from touchGFX directly?

Hi @Sasha_​ 

thanks, the problem has solved,

@AReza.1​ 

AReza.1
Associate II

Hi all

I also have another question and I could not find it anywhere,

to start a project with enable touchgfx on discovery board(stm32f746) is there any specific way to create a project and chose board(STM32F746xxxxx) with enable touchGFX in it and start programing?

I just found this solution on youtube (https://www.youtube.com/watch?v=12KXreXaLp0) it works but the solution seems weird.

I'll appreciate if you can lead me to a right solution or links.

thank you all.

Hi AReza.1,

This video is old and does not reflect the current TouchGFX version. So it's not the best idea to follow it.

Why do you want to create a project with F746-DISCO board since the Application Template is already available for you in the Designer ?

If it is to train yourself on how to create your own Application Template of a board from scratch then it can be a good idea. Of course it is possible to create the project in CubeMX from scratch and make a working project. Use stand-alone CubeMX, select the correct MCU and set all the correct parameters by following what was made in the Application Template. In CubeMX you can add TouchGFX Generator (see link). Then you can do some UI in Designer and Run Target.

/Alexandre

Hi AReza.1,

Run Target should load the external Flash if you are using the Application Templates available in TouchGFX Designer.

Run Target allows you to download your code into your board directly in the Designer. It's a very convenient option.

If the assets are not loaded in your external memory, this means that you are making a project from scratch yourself and that you need to modify the loader file to specify some external memory. Please have a look at the F746-DISCO Application Template loader file in <your project>/gcc/STM32F746NGHx_FLASH.ld. You will see that a QUADSPI section is indicated.

If you have already done this then it means that you haven't created the makefile necessary for Designer to Run Target. As a matter of fact, Run Target follows a makefile to build and download into the board. Again please refer to an Application Template like F746-DISCO. The Makefile is located in <your project>/gcc/Makefile

/Alexandre