cancel
Showing results for 
Search instead for 
Did you mean: 

Hello, I have a problem with stm32cubeide6.1 and xcubetouchgfx 4.16.1. It generates error when I build the project. I send the errors and my project in attached file.

ECoud.1
Associate III
 
6 REPLIES 6
mattias norlander
ST Employee

Hi @ECoud.1​,

Downloading your project file I notice that the project is a "C" project. Not a C++ project. Maybe you initially created it as a C project?

You can convert it into a C++ project and all settings from the C Compiler/Linker will be copied/migrated to the corresponding C++ tools.

Right-click on the project > Convert to C++

After doing that, and opening TGFX Designer 4.16.1 and clicking generate, I have all the files needed to successfully compile the project.

But the linking fails since the TouchGFX_Framebuffer needs 750KB RAM and the device only has 320KB...

So, I assume you have to also modify the size of this frame buffer (rely on partial frame buffers, or rely on external RAM depending on what performance you need). I by-passed it by modifying the linker script to set :

RAM  (xrw)  : ORIGIN = 0x20000000,  LENGTH = 1024K

Only to validate that the project could build successfully. I can of course not run this code... =)

ECoud.1
Associate III

Hi @mattias norlander​ 

Thanks for you help :D . I have another question if I want to save my program on the board how can I do that ?

RFREN.1
Associate II

@mattias norlander​ , yes because when we turn off and turn on the board, software doesn't stay. It seems removed.

mattias norlander
ST Employee

Are you using the RAM linker script to build the application instead of the FLASH?

Looking at the project you uploaded you are relying on the flash variant (STM32F469NIHX_FLASH.ld)...

Do you have external memories? If so your application must initialize those memories....

The application could work as intended when debugging because the debugger would first initalize the external memory using a flash loader file. But if you later power off/on the board then your application code must perform the same initialization.

Those are the two main sources that could lead to this new found issue (that I can think of right now).

ECoud.1
Associate III

Thanks for your help I will try this.

ECoud.1
Associate III

Hello @mattias norlander​

I have tried another thing to make my project work. I've started a project with touchgfx by selecting stm32f469i-disco board. Then I modify the cubeide to have analog value display on the screen. To do that I have added a task and a semaphore on touchgfx task. I have tried to add .h and .c files on the project but it didn't work so I have deleted the files. Next I choosed to put all my functions on the main file. When I compile the project I have no errors but touchgfx Interactions doesn't work. I send you my new project in attached file. Could you please check it ?

Best Regards