Rp2040 Systick Interrupt #15
-
Hi All, first up thank you for the development of the amazing grblHAL Projekt and all the work involved! Line 1929 in 5cc6e78 The Systick is configured to a 1ms rate: Line 1588 in 5cc6e78 So this makes sense, however, I can't see where the interrupt handler is registered. Additionally, if I understood the datasheet correctly, the RP2040 doesn't even have a Systick interrupt. So how does this work? Is there a special SDK trick, or am I missing something? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Can't remember where it is found now but it is likely defined as a weak symbol in the vector table definition. By just adding it to driver.c the weak definition is overridden.
AFAIK all (or almost all?) ARM processors has a systick timer, usually reserved for OS use. I regard grblHAL as an OS (when not running under a RTOS) so I claim the systick timer and the corresponding interrupt. And the RP2040 definitely has one (or two - I believe one for each core), although somewhat hidden away. |
Beta Was this translation helpful? Give feedback.
-
Thanks, I've missed that, the handler is defined as a weak symbol in: And you are right, both cores have an individual Systick timer. |
Beta Was this translation helpful? Give feedback.
Can't remember where it is found now but it is likely defined as a weak symbol in the vector table definition. By just adding it to driver.c the weak definition is overridden.
AFAIK all (or almost all?) ARM processors has a systick timer, usually reserved for OS use. I regard grblHAL as an OS (when not running under a RTOS) so I claim the systick timer and the corresponding interrupt. And the RP2040 definitely has one (or two - I believe one for each core), although somewhat hidden away.