Skip to main content
Associate II
April 16, 2024
Solved

HAL.tick() stops debug

  • April 16, 2024
  • 2 replies
  • 1765 views

Hi gm,

 

I am creating a project in STM32CubeIDE with touchGFX, right now the project builds, but when i pass it to the board the screen shows white, and when debugging I noticed that when it gets to the line tick() in                              HAL.hpp->backPorchExited which is called from TouchGFXHAL.cpp the code stops, 

 

And I really don't understand this, the function itself is empty in HAL.hpp and it's called from inside the HAL class so i don't get how is this making my code stop.

 

I don't really know what kind of screenshots I can provide here, let me know if you want me to pass the project files or something.

This topic has been closed for replies.
Best answer by Iñaki_Bidasoro

Ok it's fixed
As i thought it was my fault, I forgot to config the memories in main.c, it's working now.

2 replies

ST Employee
April 16, 2024

Hello @Iñaki_Bidasoro ,

Would you please provide more information about the MCU or the board that you are using? 
If you are using a custom board, could you please specify the type of display interface mounted on the board? 

You can read about TouchGFXHAL and its responsibilities here .

Looking forward to hearing from you 

Associate II
April 17, 2024

The thing is that I've been told to understand how the creation of a project works in order to get deeper understanding of all the emenents that run in the back when we execute the sim,I have got a stm32h735g-DK board, so I created a project that works for it using touchGFX.

 

Then I created a project using that same .ioc file that the working project has to have the same starting point, and I copied the files from:

all files from folders: target, drivers

the files: STM32H735IGKX_FLASH.ld and STM32H735IGKX_RAM.ld.

 

As the .ioc file is the same the clock config is the same, but when the code reaches the tick function in HAL.hpp it stops, the question comes from not understanding how this function works, I mean i guess it must be overwriten in some class, as in the class HAL.hpp it's only defined, so I don't get why it stops there.

I tried to understand the function using the documentation, but I just understood that its a function that is called at every timer tick, but i don't get if its the same tick as in model.tick().

When I try to go into the function on debug mode, it just doesn't do anything.

 

I know I have a lot of basic things to understand yet, but I'm learning by trial-and-error at this point.

 

If you need more info about the board or the .ioc file tell me.

 

**Edit: Forgot to say that it is strange to me that just before the crash on tick() the frame buffer values are empty

Iaki_Bidasoro_0-1713337349540.png

While in the working project, if I stop right here and check the values all the frame buffers have a first value of 255, so it may be related to this.

 

Iñaki_BidasoroAuthorBest answer
Associate II
April 17, 2024

Ok it's fixed
As i thought it was my fault, I forgot to config the memories in main.c, it's working now.

ST Employee
April 23, 2024

Oh okay,
Glad to hear you managed to fix it yourself

Best regards,