-
Notifications
You must be signed in to change notification settings - Fork 3k
no-systick targets: fix systick irq handler setup #11479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
no-systick targets: fix systick irq handler setup #11479
Conversation
@maciejbocianski, thank you for your changes. |
9424eff
to
03fcf7c
Compare
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. |
Exactly the old code called it unconditionally: mbed-os/rtos/TARGET_CORTEX/SysTimer.cpp Lines 82 to 94 in 1bf6b20
|
03fcf7c
to
7791032
Compare
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.
7791032
to
94a08e9
Compare
@kjbracey-arm updated |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Looks not related.
|
👍 CI restarted |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Ci restarted |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
Description
Fix for the #11426
For targets with no H/W systick (
NO_SYSTICK
),SysTick_Handler
needs to be remapped to specific irq emulating systick.Pull request type
Reviewers
@kjbracey-arm
Release Notes