-
Notifications
You must be signed in to change notification settings - Fork 2.1k
cpu/cortexm_common: use linker variable to initialize SCB->VTOR #6638
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
Conversation
Looks good. What boards have you tested it on? |
Tested with our hardware (stm32f2 based), I'll give a try with a nucleo-f401. |
Works fine on nucleo-f207 and nucleo-f401, I don't have any others cortex-m(3/4) to test |
Tested on fox, nucleo-f334 with success. |
@gebart the kinetis boards work with this PR? |
@astralien3000 Can you test with the opencm board? Maybe with this PR you can avoid to specify explicitly where the VTOR is? |
@kaspar030 does this breaks the softdevice (anyways IIRC it's already broken)? In my opinion it shouldn't... |
Good PR ! |
This does not work on Kinetis. The program crashes on first ISR call after the SCB->VTOR assignment. Looking at the map file I can see that the _isr_vectors variable is not placed at 0x00000000 as it should. Might have something to do with the special ldscript for Kinetis. |
Fix for Kinetis is at OTAkeys#5 |
OTAkeys#5 cherry picked |
Can you squash? I think this is ready. |
I was looking on the boards that could be affected by this PR and I only see the spark-core. Besides, the softdevice will bee indeed broken, however I couldn't find any usage of its linker script. @kaspar030 any hints? |
ae41528
to
46ad232
Compare
Squashed |
46ad232
to
27057d4
Compare
@kYc0o No problem, done! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
All green, go |
Use the actual vector base address from the linker to initialize the vector base address register.
It's easier to overwrite from an application with a custom linker file.