Skip to main content
TDJ
Senior III
February 26, 2024
Question

Cortex system timer config bug?

  • February 26, 2024
  • 2 replies
  • 1255 views

According to RM0456, section 11.4 RCC clock functional description, p. 482:

"The RCC feeds the Cortex system timer (SysTick) external clock with the AHB clock (HCLK) divided by eight, or LSE or LSI. The SysTick can work either with this clock or directly with the Cortex clock (HCLK), configurable in the SysTick control and status register."
However, the corresponding clock settings, at least for STM32U5A5 seem to make no impact. Regardless of what is set, the generated source code is exactly the same.

Screenshot 2024-02-27 002843.png

The SysTick source is controlled by RCC_CCIPR1.SYSTICKSEL register 

Figure 36. Clock tree for STM32U5 Series

Screenshot 2024-02-27 002757.png

RM0456 does not clearly explain where the related STCALIB register mentioned in section 22.2 is located and how to set SysTick to work directly with HCLK. RCC_CCIPR1.SYSTICKSEL register (section 11.8.46) allows only for three values:
00: HCLK/8 selected,
01: LSI selected,
10: LSE selected

I am puzzled. Probably those who tried to implement this CubeMX config function were unclear as well.

Please advise.

Screenshot 2024-02-27 005107.png

This topic has been closed for replies.

2 replies

Pavel A.
Super User
February 27, 2024

IIRC this was a bug in the CubeMX/IDE for earlier products. The /8 divisor was not taken into account. Looks that  the systick selector mux is still not implemented in Cube for U5?

 

 

Tesla DeLorean
Guru
February 27, 2024

HCLK would come from the selection in the SYSTICK peripheral itself, not ST's circuit

SYST_CSR.CLKSOURCE

https://www.st.com/resource/en/programming_manual/pm0264-stm32-cortexm33-mcus-programming-manual-stmicroelectronics.pdf

CubeMX probably has some separate configuration of SysTick itself.

Sure it's unhelpful from a point-and-click point of view, but that comes with the territory

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..