Arm Community
Site
Search
User
Site
Search
User
Groups
Research Collaboration and Enablement
DesignStart
Education Hub
Innovation
Open Source Software and Platforms
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello Forum
Operating Systems forum
SoC Design and Simulation forum
中文社区论区
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Innovation blog
Internet of Things (IoT) blog
Operating Systems blog
Research Articles
SoC Design and Simulation blog
Tools, Software and IDEs blog
中文社区博客
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Arm Development Studio forum
Interrupt priority levels:
Jump...
Cancel
Locked
Locked
Replies
2 replies
Subscribers
121 subscribers
Views
2194 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Interrupt priority levels:
Offline
David Clark
over 9 years ago
Note: This was originally posted on 16th June 2010 at
http://forums.arm.com
I feel this is probably documented somewhere, but I'm failing to find it, so here goes.
Let's say I have 2 interrupts/exceptions at the same priority level, and let's say they're both masked (due to PRIMASK, due to BASEPRI, etc...)
Let's say they both become pended, but they don't fire, because they're masked.
Now let's say the interrupts are unmasked simultaneously. What determines which interrupt will fire first?
Is there a table with a "pecking order" somewhere in the ARM documentation?
Does it depend on which arrived first? (Very unlikely)
Is it random / undefined? (Also extremely unlikely)
Just wondering how to understand what will happen in such a scenario.
As a more concrete example, I'm sitting here looking at a table showing the SVC exception at slot 11, and the PendSV exception at the "lower" slot 14; let's say:
they're both configured to be a certain level, the same level (let's say 0x80)
BASEPRI is now set to 0x40
Both PendSV and SVC become pending
BASEPRI is adjused back to 0
Is it clear in this scenario which exception handler will run first?
Thank you.
Offline
David Clark
over 9 years ago
Note: This was originally posted on 16th June 2010 at
http://forums.arm.com
All other things being equal, the exception with the lowest vector number will be taken first.
hth
s.
Sim, once again, thanks for your input & help. That's exactly what I needed to know.
Cancel
Up
0
Down
Cancel
Offline
Simon Craske
over 9 years ago
Note: This was originally posted on 16th June 2010 at
http://forums.arm.com
All other things being equal, the exception with the lowest vector number will be taken first.
hth
s.
Cancel
Up
0
Down
Cancel