Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
no-systick targets: fix systick irq handler setup #11479
Fix for the #11426
For targets with no H/W systick (
Pull request type
Not following the logic of the change. Isn't this effectively just side-stepping the assert?
If NO_SYSTICK is set,
If there is a RAM vector table, then we try to program that interrupt number for the handler we want. If there is no RAM vector table, then we check that it has been hard-coded to call the handler we want - in an RTOS build it should be hard-coded to call the RTOS tick handler.
I think your change just stops us doing the check and makes us try to set it anyway - which won't work because there's no RAM vector table.
Oh, I see.
There's an issue here in that I was assuming that all targets with RAM vectors had
It appears that M0 devices like this one don't all have this define public - they sometimes have it internal.
It looks like the original code called
So I suggest changing this code to
Always attempt the set, and read it back to make sure it worked.
Remove checking that vectors were copied to RAM as not all targets have NVIC_RAM_VECTOR_ADDRESS defined as public. Instead always call NVIC_SetVector unconditionally as old implementation does.
Looks not related.