cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-U575ZI-Q - HAL_GetTick returns 0

CLC_EricF
Associate II

Bonjour,

J'utilise la suite CUBEMX et CUBEIDE  pour créer mon projet à partir d'une carte de développement NUCLEO-U575ZI-Q.
J'ai réalisé mon projet sur CUBEMX en gardant et validant le BSP de la NUCLEO pour utiliser les leds et surtout le debug via ST-LINK embarqué.

J'ai ajouté des IO pour effectuer une maquette avec SPI1 et OCTO-SPI1 plus quelques IO notamment une PWM.

Pour commencer j'ai d'abord réalisé un bout de code pour faire clignoter une led (LED_GREEN); à une certaine fréquence réglée par HAL_Delay.

Le souci est que cette fonction bloque car le Tick ne semble pas être validé, (HAL_GetTick  me retourne toujours 0)...

Je crois pourtant avoir validé les interruptions :

Hello,

I am using the CUBEMX and CUBEIDE suite to create my project based on a NUCLEO-U575ZI-Q development board.
I created my project on CUBEMX, keeping the NUCLEO BSP to use the LEDs and, above all, debugging via the embedded ST-LINK.

I added I/Os to create a model with SPI1 and OCTO-SPI1, and a few I/Os, including a PWM.

To start with, I wrote a piece of code to make a LED (LED_GREEN) flash at a certain frequency set by HAL_Delay.

The problem is that this function blocks because the tick does not seem to be validated (HAL_GetTick always returns 0)...

However, I believe I have validated the interrupts:

Translated with DeepL.com (free version)

CLC_EricF_0-1771519169847.png

Can you help me, je débute dans l'environnement STM32CUBE...
Thanks in advance,

Eric

 

23 REPLIES 23

Hello @mƎALLEm ,

Yes, I tested a simple project taken from the examples provided by ST for the NUCLEO-U575 board, without TrustZone. It is the GPIO_Demo code, which I had already used as inspiration, but I created my own configuration by adding TrustZone and the I/O for the SPI and octo-spi outputs so that I could control the screen and the QSPI flash on my future prototype.
The demo works well without TrustZone.

When I look at the GPIO_Demo.ioc project on CubeMX, I see, for example, that neither the debug interface nor the Nucleo board's BSP are validated, even though I validated them in my CubeMX project.
The clock configuration is the same.

Extract from GPIO_Demo.ioc :    Extract from my project :

gpio_demo.ioc.jpg     MyProject.ioc.jpg

The pinouts view of the two projects:

gpio_dem_pinout.jpg          my project : myproject_pinout.jpg

 

 

I used to work on Renesas Synergy with the BSP suite in e2studio, where everything could be configured graphically. I think it's the same here with cubeMX, but the example project doesn't really demonstrate this.
I think I have a lot to learn; the transition seems more complicated than I thought.
Eric


@CLC_EricF wrote:

When I look at the GPIO_Demo.ioc project on CubeMX, 

Extract from GPIO_Demo.ioc :    Extract from my project :

 


There is nothing called GPIO_Demo.ioc in the CubeU5 package:

only:

GPIO_EXTI.ioc (NUCLEO-U575ZI-Q\Examples\GPIO\GPIO_EXTI)

GPIO_IOToggle.ioc (NUCLEO-U575ZI-Q\Examples\GPIO\GPIO_IOToggle)

GPIO_IOToggle_TrustZone.ioc (NUCLEO-U575ZI-Q\Examples\GPIO\GPIO_IOToggle_TrustZone)

Meanwhile, the last example has TrustZone  enabled while toggling a LED so HAL_GetTick() should work with security enabled.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

I'm sorry @mƎALLEm but there is an example for the U5:
GPIO_Demo_ST_Examples.jpg
Here is the descriptif:
ExampleDescriptif.jpg

I was interested in this one precisely to see the configuration of the I/Os, the interrupts, and the configuration of the 160MHz clock, because I want to use the SPI at at least 20MHz.

But thank you anyway for your help and the other examples you mentioned.
I hope I can manage.

Best Regards,
Eric


@CLC_EricF wrote:

Here is the descriptif:
ExampleDescriptif.jpg


Humm well. That seems to be this example from Github:

https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/NUCLEO-U575ZI-Q/Examples/GPIO/GPIO_Demo

Indeed you can start by that one. Then move on with this one (GPIO_IOToggle_TrustZone):

https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/NUCLEO-U575ZI-Q/Examples/GPIO/GPIO_IOToggle_TrustZone

at least to inspire from the TrustZone configuration/implementation.

For SPI example refer to these examples (I think without TrustZone enabled): https://github.com/STMicroelectronics/STM32CubeU5/tree/main/Projects/NUCLEO-U575ZI-Q/Examples/SPI

If you feel one of the posts helped you/answered your question please don't hesitate to accept it as solution.

And you are welcome.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.