cancel
Showing results for 
Search instead for 
Did you mean: 

Dual core support: Using an stm32h747 how do i configure the board in order to generate the UI for the CM4 instead of the CM7 MCU?

GAval.1
Associate II

When i generate code through the TouchGFX Designer it always generates the code to run mainly in the cm7 core, but i want ot use this core to do some heavy computation. Any help? Thanks

12 REPLIES 12
Romain DIELEMAN
ST Employee

Hi,

I suppose you used the TBS for the STM32H747 disco ? I suggest creating a dummy project with the same TBS on the side to compare the configuration and strip some code.

When you open the generated project in STM32CubeMX you can see in the Software Packs section that the TouchGFX Generator is set on the Cortex-M7. You need to untick that box and tick the one for the M4, then fill in the same settings as before.

Now that a TouchGFX folder is generated in the CM4 folder you should copy paste the files that were in the CM7/TouchGFX/target folder to the same folder in CM4/. You might have to dive in the code as well because there might be some links to files or folder to change. Same for the include paths for whatever IDE/toolchain you are using.

/Romain

Romain DIELEMAN
ST Employee

Actually I got it wrong you cannot untick the M7 box in the TouchGFX Generator, you have to do that through the Select Component view in the Software Packs option like in the picture below.

0693W00000JMoY8QAL.png 

/Romain

GAval.1
Associate II

Thank you very much for the answer Romain.

I tried following your steps but even when I change the context and enable it on the M4, the folder touchgfx still gets created under CM7.

I'm using TouchGFX designer 1.18.1 and CubeMX 6.4.0, this is what I did step by step:

1) create a new protect from TouchGFX Designer, and generate the code

2)Open the .ioc generated with cubeMX and change the touchgfx execution context to the M4, generate code.

I've also tried creating a project from scratch using the CubeMx and changing the context of execution then generating code and still, the folder touchgfx does not get created inside CM4.

Do you see anything that I'm doing wrong?

Still, thanks for caring! :relieved_face:

If not confidential could you share your IOC file so that I can have a look or try to replicate it ?

/Romain

GAval.1
Associate II

Hey Romain, I was just trying a visual interface with only one button to try it out. Either way, I found a way to generate the folder in the correct project, but I'm still having errors, here's what I did and where I'm stuck:

  1. Generate a new project in TouchGFx Designer, add a button, generate .ioc
  2. On CubeMX enable context of touchgfx con M4 and on pinout and configurations>software packs>X-CUBE-TOUCHGFX>screen enable Graphics application.
  3. Enable CRC on computing section and freeRTOS con M4 context

Im getting an error on STM32DMA.cpp: "FreeMarker template error (DEBUG mode; use RETHROW in production!):

The following has evaluated to null or missing:

==> data.parameters.tgfx_pixel_format [in template "STM32DMA_cpp.ftl" at line 4, column 24]

"

It would be awesome to have any documentation on how to do this in the future since it seems it's not easy at all, and it seems like something you might want to do. Still, any workaround for this issue? I'm stuck.

Thanks.

Hi,

You can find articles on how to enable and configure TouchGFX Generator in the online documentation. Dual cores are however a particular case as they are more complex, I do agree that more specific documentation would be nice but I do not believe we will have time to do any in the short term (we are not expert either on those so it involves headaches for us as well :grinning_face_with_sweat:).

I've never faced this error, could you give more info on what you set up to see if someone can replicate it ?

/Romain

GAval.1
Associate II

Hey, thank for you the answer. I'm tired of banging my head against the wall on this one, I've tried to get it working for 2 weeks now. Can you or someone provide a detailed step-by-step guide on how to get the interface working on CM4 instead of CM7 on STM32H747 DISCO, or maybe even a video example, starting from a new project to the interface in CM4?

If not ill have to just use the interface on the CM7 since I'm running out of time.

Thanks

If you are on a time schedule I would recommend sticking with the CM7 implementation. I do not have a guide nor time to make one unfortunately. I still believe it should not be "too complex" to adapt the TBS to have TouchGFX on CM4 but it might be time consuming.

/Romain

GAval.1
Associate II

OK, thanks for the quick answer, now I throw the ball back to you, if I implement it in on the cm7, how hard would it be to, when the documentation exists, migrate it to the cm4?

Thanks again Romain