This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G3507: SysTick timer doesn't work

Part Number: MSPM0G3507
Other Parts Discussed in Thread: SYSCONFIG

Hello!

We've been using engineering samples until now and had no issues with the SysTick timer.

However when trying the updated production samples of this microcontroller the systick timer no longer counts (stuck at 0) with the same SW configuration. It's configured by SysConfig tool with the settings below, and we are starting the timer manually after all our initializations by calling DL_SYSTICK_enable().

Playing around I've discovered that I need to set the CLKSOURCE bit in the SysTick CTRL register. By setting this bit the timer starts counting and the interrupt frequency looks to be as expected.  According to arm documentation, this sets the timer's clock source to processor clock vs. previous external reference clock. There is no mention of this bit in the Technical Reference Manual or the engineering sample errata for the MSPM0G that we have received.

FYI I've also noticed that the code_cm0plus.h header included in the MSPM0 SDK provides a function SysTick_Config() which does actually set this bit. DL_SYSTICK_config() redirects to it but it's not called by the default code generated by SysConfig and there's no indication that it would need to be called.

Since setting this bit was not required on the previous engineering samples, I am wondering if we should be changing it or not. Is this expected behavior and is there any negative impact if we set it?

Thank you!