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: DL_SYSTICK_enable overwrites TICKINT bit

Part Number: MSPM0G3507

In the last SDK update 1.10 the function DL_SYSTICK_enable() was modified to also set the SysTick_CTRL_CLKSOURCE_Msk. But the operation was changed from 

SysTick->CTRL |=
to 
SysTick->CTRL =
. This means that it now resets the TICKINT bit, while on earlier SDK versions it didn't.

Seeing as how for other peripherals the SDK has an |= operation for the enable function and even for the SysTick the disable function has an &=, I would imagine this change was unintended.

Is that the case or is this intentional? Could it be put back to |= in the next SDK version, while keeping the CLKSOURCE bit also set of course?

For now we are calling DL_SYSTICK_enableInterrupt() after DL_SYSTICK_enable().

  • Hi Florin,

    There was an intentional change to this function as part of the SDK update to ensure the CLKSOURCE bit was being set in production devices.

    I am checking if the change to a strict assignment was done for any specific reason, but I don't see what it accomplishes that the |= does not. I'll let you know once I hear back from my software team on this. 

    Best Regards,
    Brandon Fisher

  • Hi Florin,

    I've confirmed that the assignment change was unintentional, we're planning to correct it for the next SDK release which should be in Mid-august. Your workaround shouldn't cause any issues in the meantime. 

    Best Regards,
    Brandon Fisher