cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F469I-DISCO TouchGFX Designer project not running when built using STM32CubeIDE

RobNewbury
Associate III

I am starting my journey with STM32 and want to develop a GUI based project using TouchGFX Designer then later on add user code to it from STM32CubeIDE.

I have created a simple project which displays the text 'Hello World' in the centre of the LCD screen using TouchGFX Designer and targeted it to STM32F469I-DISCO. This project loads and runs absolutely fine on the target from TouchGFX Designer.

Without doing anything else I then opened the '.cproject' in the STM32CubeIDE folder that was generated by TouchGFX Designer. I built the project and loaded the .elf file to the target using STM32CubeProgrammer. This loads but gives an error of data mismatch at 0x90000000 when programming, this may be the cause of the problem..

Having examined the .map file I think that this address is in QSPI flash and is used to store the text fonts etc. so it would make sense that if this can't be programmed the text won't be rendered on the screen.

I can't see a way in STM32CubeProgrammer to control external QSPI writes or reads. 

Also I don't understand why the application is ok when programmed to the target from TouchGFX Designer.
As an additional observation, when using STM32CubeProgrammer and I program the file 'target.elf' from the folder \TouchGFX\build\bin\ (i.e. the .elf output from TouchGFX) then the application works on the target fine.

Any clues would be helpful please.

 

1 ACCEPTED SOLUTION

Accepted Solutions
RobNewbury
Associate III

OK, got this sorted.

Required that an External Loader be selected in STM32CubeProgrammer. 
My target is STM32F469I-DISCO which the External Loader lists as STM32F469I-DK which is a bit confusing, however with that option selected all works fine. 

View solution in original post

1 REPLY 1
RobNewbury
Associate III

OK, got this sorted.

Required that an External Loader be selected in STM32CubeProgrammer. 
My target is STM32F469I-DISCO which the External Loader lists as STM32F469I-DK which is a bit confusing, however with that option selected all works fine.