cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX_Task is missing when using Keil

Pirol
Associate III

In TouchGFX 4.19.1, I have the following problem:

When I set up a project via designer and then switch the IDE to Keil via CubeMX, the function

void TouchGFX_Task(void *argument)
{
    touchgfx_taskEntry();
}

vanishes from the file app_touchgfx.c.

When I open the file before changing the IDE, the function is there. When I open the file after changing the IDE, it's not there, and it doesn't come back when the TouchGFX Designer is rerun.

Of course I can add the function myself but it would be more convenient if it would not be deleted by CubeMX.

This problem did not occur in TouchGFX 4.18.

Is it a general bug or is there something wrong with my version of the toolchain?

6 REPLIES 6
Pirol
Associate III

Addition: The functions seems to vanish whenever CubeMX is used to generate code (with TouchGFX Software Package 4.19.1).

Solution: Update CubeMX to 6.5.

Remark: With Designer 4.19.1 and CubeMX 6.5 the function does not vanish anymore, but the designer seems to generate CubeMX 6.4 projects: When I open the ioc-file, I have to decide whether to continue with the old version or migrate to the new one although FW 1.27 is installed.

0693W00000LyUiqQAF.png

Hello Pirol,

Thanks for your post. Indeed, we encourage to use TouchGFX Designer 4.19.1 with our latest STM32CubeMX 6.5.0. That will avoid some compatibility issues like the one you had. Your solution is correct.

I'm not sure about what do you mean by "but the designer seems to generate CubeMX 6.4 projects". Actually, the generator doesn't generate anything related to CubeMX. I think your project is initially created to be compatible with an old version of CubeMX, using an old firmware. That is to say, the version of your board probably was configured using CubeMX 6.4. Generating new version of the board is a work on our table, we're going to update our boards to match with the latest firmware. I'll get back to you when I'll have more info about this subject.

In meantime, yes, you can use "Migrate" to use the latest firmware.

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX

Hello Osman,

thanks for your answer.

When you create a new TouchGFX project with the TouchGFX designer (for STM32429I-EVAL in my case), an ioc-file is created. This, of course, belongs to CubeMX, not to the Designer, but the Designer has to somehow tell CubeMX what to do. I just wondered why I got the Migration-request, as everything now seems up to date.

Now I'm not sure about what you mean by "generating new version of the board": Is it about the board itself or the "representation" of the board in TouchGFX Designer oder CubeMX?

Pirol

I mean this version here (in TouchGFX Designer)

0693W00000LyaihQAB.png 

And for that 3.0.5 version, the STM32F429I-EVAL board is indeed configured to be using 6.4 version of STM32CubeMX. That's not Designer which configures it, but us, TouchGFX Team.

If you open the ioc file with a text editor, right after generating your project, you'll find this :

Mcu.ThirdParty0=STMicroelectronics.X-CUBE-TOUCHGFX.4.18.1
Mcu.ThirdPartyNb=1
Mcu.UserConstants=
Mcu.UserName=STM32F429NIHx
MxCube.Version=6.4.0
MxDb.Version=DB.6.0.40

The version of TouchGFX Designer and CubeMX are still the old ones because in the source code of our board configuration it's still these ones. So for the future version 3.0.6 of STM32F429I-EVAL board, we will update CubeMX version and TouchGFX Designer version. This is also what the "migration" popup does in a way.

/Osman

Osman SOYKURT
ST Software Developer | TouchGFX

Thanks a lot!

You're welcome :)

Osman SOYKURT
ST Software Developer | TouchGFX