Skip to main content
Senior III
August 3, 2023
Question

CubeMX 6.9 does not generate HAL_SYSTICK_IRQHandler

  • August 3, 2023
  • 4 replies
  • 2464 views

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

 

 
This topic has been closed for replies.

4 replies

TDK
Super User
August 3, 2023

> 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""."
Senior III
August 3, 2023

@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 :)

TDK
Super User
August 3, 2023

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""."
Senior III
August 4, 2023

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

Piranha
Principal III
August 4, 2023

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