cancel
Showing results for 
Search instead for 
Did you mean: 

HAL.tick() stops debug

Iñaki_Bidasoro
Associate II

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.

1 ACCEPTED SOLUTION

Accepted Solutions
Iñaki_Bidasoro
Associate II

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

View solution in original post

4 REPLIES 4

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 

Mohammad MORADI
ST Software Developer | TouchGFX

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_Bidasoro
Associate II

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

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

Best regards,

 

Mohammad MORADI
ST Software Developer | TouchGFX