-
Notifications
You must be signed in to change notification settings - Fork 237
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
RAM-based interrupt vector tables #321
Conversation
Didn't test the code either, but it looks sensible. |
I have tested it since I wrote the first comment, but not in a while. It explodes.
You're right. I had written this to help out with a multicore experiment so that is what was on my mind. |
I've rebased this and written an example testing it. Also decided to go back to just copying the 192 bytes that are used by the table entries instead of |
This seems to be an open question: |
Thanks for those threads. I think the answer (right now) is that the padding bytes are unused. |
* Add struct VectorTable to represent an interrupt vector table * Add member function to VectorTable to initialise based on the current Interrupt Vector Table from VTOR * Add member function to VectorTable to register an extern "C" function to call on interrupt * Add example using VectorTable to demonstrate initialisation and interrupt function registration
To improve performance for interrupts and allow for dynamically hooking interrupt vectors at runtime, provide some facilities for creating and using interrupt vector tables.
This should also increase what we can do with multicore.
This code is currently completely untested.