cancel
Showing results for 
Search instead for 
Did you mean: 

Tutorial 3 implementation on STM32H7B3I-DK in an apparent infinite loop

toneskater
Associate II

Hi everybody

I'm trying the Tutorial 3 of touchgfx documentation because I have to evaluate touchgfx against another graphic framework.

BOARD: STM32H7B3I-DK

TouchGfx designer 4.13.0

Project created by designer using the board template.

On PC simulator everything works perfectly. 

On the board after a while, and not systematically the display stop to update. 

No a fault handler, but if I set in pause the program I'm always blocked into the touchgfx::Outline::renderLine every time. If I play the program and pause again I'm in the same function with a different program counter but closer to the previous one.

I really don't know where I could have done a mistake.

I attach an image of the STM32CubeIde call stack crashTouchGfx

 0693W000000WoDTQA0.png

I hope you can help me to figure out the problem, or where I could have made a mistake.

Thanks in advance

5 REPLIES 5
toneskater
Associate II

0693W000000WoDTQA0.png

Martin KJELDSEN
Chief III

Did you define a canvas buffer? If the buffer is infinitely small, a complex figure requires many, many passes to render - Maybe that's whats going on

/Martin

Hi Martin

I have checked, the Canvas buffer was 7200... I increased the buffer overriding the size to 32767 as max possible value. The problem still persist the same call stack. No frame are rendered (the blu led of the board is not flashing anymore). The problem happens fast but not in a systematic way. Sometimes the circle is not completly redered, some other time the circle has been drawn for 3-4 times than the operations stop.

I could only place this disassembly. The code continue to run over this lines of code.

0693W000000Wx5nQAC.png

But I want to ask you a question: Is there a support of touchgfx as a service by ST, or some partners? If I want to use your framework, due to the fact that I use ST microcontroller since 8 years, but I have no support over this kind of problem, it could be a disaster for my project.

I have also read into your documentation that if the canvas buffer is too short, some drawing operation will not accomplish, drawing partially some widget. But here it seems a never ending loop. So I have no proof to say that I'm right, but I cannot explain the problem better in this situation.

Let me know.

Thanks

Andrea

Send me your project and i'll try to have a look. I have the board here.

What you're engaged in right now is community support, which is one way of getting help. The other is contacting an ST FAE in your region who will then submit bugzilla tickets and you'd also reach me - So, any way you want :) haha

Does the problem occur in the simulator?

/Martin

Hi Martin

I attached the project in 7z instead o zip, it was half the size.

The simulator is going fine, for hours. I speed up the circle clock speed, in this way it happens fast the problem, just few seconds.

I have only change the arc start and arc end position during the tutorial in function

void Screen2View::handleTickEvent()

to have a copy of my Garmin watch behaviour. For the rest I haven't changed any line.

Thanks in advance

Let me know