cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F769I Discovery + TouchGFX 4.13 weird graphics issue

LMese.1
Associate II

Hello,

ALL TouchGFX examples and demos from TouchGFX Designer 4.13 templates have this graphics issue. The issue is quite randomic. For example, I compile, build and flash the demo, it runs ok, but after I un-plug and plug again the board it looks like the following. But not always, about twice on 3-4 attempts. Sometimes it starts ok. Pressing reset button sometimes helps and sometimes not. Please help. I'd like to use TouchGFX for our project, it is a very impressive product, but this strange issue is blocking. Thank you.

P.S. That's not a HW problem, other LTDC demos, including emWin, work just fine.

0690X00000BwdgBQAR.jpg

23 REPLIES 23

First i have to investigate what the issue is, when i can find the time, hopefully soon.

Yeah i don't think i'll get this done by thursday. What are your requirements? You can always use an older version of the application template (v2) and try that - Pretty sure it works.

I'll tell you something very central about this new solution.

Old days: We'd pick one cube firmware that worked for a board, never change it.

Present day: Since we use CubeMX to generate cube firmware files we have less control over what is running beneath the application, so if there are bugs in CubeFW they will be in your projects / Application templates. Even the new ones since they are generated using CubeMX.

Does that make sense?

/Martin

It doesn't work if the rest of the project is made with CubeMX 5.5 / CubeIDE. At least it didn't for me. Actually I'm willing to adopt any fix/solution in order to get it work with my project but cannot spend weeks for that.

I see, I didn't realize that the issue was related to CubeFW, not the application template configuration itself. Thanks

Embedded UI/UX Consulting: cadenza.design

I'm not ready to blame FW just yet, but i'm saying the stability of the application templates now rely on a stable FW because now the user decides the version to use when generating code.

Michael K
Senior III

As per @Martin KJELDSEN​ 's advice, I migrated the project I created with the v3.0.0 template in TouchGFX 1.13.0 to a new project created with the v2.0.1 template.

  1. Backup your old project
  2. Create a new project with the TouchGFX designer using the v2.0.1 f769i template, empty UI
  3. Close TouchGFX designer
  4. Rename the new project's .touchgfx to <whatever>.bak
  5. Copy your old .touchgfx file to the new project directory, rename it to what the new project's file name was
  6. Copy the assets folder from the old to the new project
  7. Open TouchGFX designer, generate code
  8. Copy the gui folder from the old to the new project

The glitches noted in the OP seem to have gone away, however now the screen is corrupted in a different way until the first redraw (right side is fine, black box in teh center, and corruption on the left). I mitigated this by adding a black box overlaid on my screen, and adding a fade interaction that is triggered by an screen entrance. The black box doesn't have visible corruption, and the fade redraws the screen immediately.

I also notice that an issue I was having previously that froze the system when too many elements were on screen is no longer an issue. With the v3.0.0 template I had to double the FreeRTOS stack and heap sizes.

Edit: I should also note that this now requires a downgrade of CubeMX, and CubeIDE projects are no longer natively generated. For my project I plan to continue development with the v3.0.0 template, and then migrate the project using the steps above to remove the graphical issue.

Embedded UI/UX Consulting: cadenza.design
LMese.1
Associate II

@Michael K​, many thanks for the tips, I've managed to run my .touchgfx screens with this method. I also have this left-half screen glitch that could be masked by a faded black box on entering the mainScreen.

However, I'd rather wait for the templates v3.0.0 fixed, because the rest of my project uses CubeMX peripheral configuration, it is very fragile sometimes and I don't like the idea to have a blackbox-like hardware configuration from templates 2.0.1 that could potentially create any sort of conflicts or something like that. I'd prefer to have all the peripherals configured in one place (CubeMX).

FreeRTOS heap and stack size are important, yes, under penalty of a crash. Also, in cmsis v1 and pure freertos task stack sizes are in words where in cmsis v2 its in bytes (and freertos config heap size is always in bytes). CubeMX doesn't help you realize this.

/Martin

Hi @Martin KJELDSEN​, have there been any updates on the f769 application template?

Embedded UI/UX Consulting: cadenza.design

No update regarding the artifact issue - Trying to prioritize it.

Hi @Martin KJELDSEN​, could you please clarify this FW instability concept? As I understand there are the following players in game:

  1. TouchGFX 4.13 - no questions, the UI framework, hardware independent
  2. STM32Cube_FW_F7_V1.15.0 - BSP and HAL layers, the FW that could be unstable, ok.
  3. TouchGFX templates 3.0 - a layer that's needed to properly configure FW for certain hw.

I tried the templates 2.0 and it works with the STM32Cube_FW_F7_V1.15.0 with another glitch, but at least it doesn't have the problem we're talking about. Therefore, the problem is in the templates 3.0, isn't it? Am I wrong? Probably I missed something? Thank you,