cancel
Showing results for 
Search instead for 
Did you mean: 

CubeMX 6.9 does not generate HAL_SYSTICK_IRQHandler

Kamil Duljas
Senior III

The newest CubeMX 6.9 does not generate 

 

HAL_SYSTICK_IRQHandler

 

in 

 

SysTick_Handler

 

Moreover, when you disable Hal handler in CubeMX, for disable this option for systick, it removes 

 

Hal_IncTick

 

KamilDuljas_0-1691045258571.pngKamilDuljas_1-1691045279853.png

With enabled option:

KamilDuljas_2-1691045320596.pngKamilDuljas_3-1691045364185.png

 

 
Dudo
5 REPLIES 5
TDK
Guru

> The newest CubeMX 6.9 does not generate HAL_SYSTICK_IRQHandler in SysTick_Handler

HAL_SYSTICK_IRQHandler not being called is an intentional change that was made a few years ago.

https://community.st.com/t5/stm32cubemx-mcu/hal-systick-irqhandler-call-is-missing-in-cubemx-v5-generated/td-p/384016

https://community.st.com/t5/stm32cubemx-mcu/cubemx-5-bug-hal-systick-irqhandler-call-missing-from-systick/td-p/378192

 

> Moreover, when you disable Hal handler in CubeMX, for disable this option for systick, it removes 

Isn't that what one would expect? It calls the HAL handler when "Call HAL handler" is checked, and it doesn't when it isn't? Could be missing something here.

If you feel a post has answered your question, please click "Accept as Solution".
Kamil Duljas
Senior III

@TDK User Manual still contain example with HAL_SYSTICK_IRQHandler(), page 110
https://www.st.com/content/ccc/resource/technical/document/user_manual/10/c5/1a/43/3a/70/43/7d/DM00104712.pdf/files/DM00104712.pdf/jcr:content/translations/en.DM00104712.pdf 

Also HAL_IncTick() is not Hal handler function, isn't? As follow description in code, it's Hal control function, so should not be removed when call HAL handler is not checked.

I smell tiny ironic in your sentence :)

Dudo

Just the messenger here, complain if you want but seems it is intentional and probably won't change. Yes, it's in the user manual, but it's not documented as to how it should be used or when it should be called. Just how it is. Easy solution: add it to the user code in that section if you still want it there.

I'm not being ironic or sarcastic or passing judgement, just trying to be clear. It seems like "HAL_IncTick" is the HAL handler for the SysTick interrupt to me. Is there a definition for "HAL control function" vs "HAL handler" somewhere that you're going off of?

If you feel a post has answered your question, please click "Accept as Solution".
Kamil Duljas
Senior III

@TDK it's ok :) I just only take care about high quality of HAL code, that's it :)

Dudo
Piranha
Chief II

Actually Kamil has a point here. The HAL_SYSTICK_IRQHandler() is a function, which calls HAL_SYSTICK_Callback() and is meant for implementing custom user code hooked to SysTick timer. The HAL_IncTick() on the other hand is just a function, which increments HAL timebase ticks. It's presence in SysTick_Handler() must be dependent only on the fact whether the SysTick is selected as HAL timebase or not.

@KDJEM.1