Arm Community
Site
Search
User
Site
Search
User
Groups
Education Hub
Arm Ambassadors
Open Source Software and Platforms
Research Collaboration and Enablement
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
SystemReady 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
Internet of Things (IoT) blog
Operating Systems blog
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
Does the NVIC really do interrupt nesting?
Jump...
Cancel
Locked
Locked
Replies
5 replies
Subscribers
120 subscribers
Views
9876 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
Does the NVIC really do interrupt nesting?
Konstantin Dimitrov
over 11 years ago
Note: This was originally posted on 23rd February 2011 at
http://forums.arm.com
For days I've been banging my head with a problem that shouldn't take more than a minute time otherwise. How to get the NVIC of Cortex M3 handle the simplest in the world interrupt nesting - an interrupt within interrupt.
In details - I have the SysTick running that executes my handling function. What I am trying to achieve is to re-enable the SysTick interrupt and let the same function be executed should another SysTick has occured while it was still serving the previous one. With the old "dumb" ARM7's VIC that was the easiest thing to do - just enabling the interrupts again once I've entered my function. But with this "advanced" one, a person apparently has to go through some tricks to get the job done.
Any help would be warmly welcome!
Thanks
Parents
Joseph Yiu
over 11 years ago
Note: This was originally posted on 24th February 2011 at
http://forums.arm.com
NVIC supports nested interrupts, but the nesting can only occur if the new interrupt has higher priority than the executing one. Also, Cortex-M3 does not allow reentrant of interrupt (if a interrupt is already in active state, it cannot enter it again until the active status is cleared.)
Your question has been asked before in various forums, some pointers here:
http://forums.arm.com/index.php?/topic/14393-reentrant-interrupt-on-systick-with-the-cortex-m3/
http://forums.arm.com/index.php?/topic/12745-abort-some-questions-of-arm-interrupt/
http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/p/59877/220223.aspx?PageIndex=2
Google for reentrant interrupt on Cortex-M3 you can find more.
Cancel
Up
0
Down
Cancel
Reply
Joseph Yiu
over 11 years ago
Note: This was originally posted on 24th February 2011 at
http://forums.arm.com
NVIC supports nested interrupts, but the nesting can only occur if the new interrupt has higher priority than the executing one. Also, Cortex-M3 does not allow reentrant of interrupt (if a interrupt is already in active state, it cannot enter it again until the active status is cleared.)
Your question has been asked before in various forums, some pointers here:
http://forums.arm.com/index.php?/topic/14393-reentrant-interrupt-on-systick-with-the-cortex-m3/
http://forums.arm.com/index.php?/topic/12745-abort-some-questions-of-arm-interrupt/
http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/p/59877/220223.aspx?PageIndex=2
Google for reentrant interrupt on Cortex-M3 you can find more.
Cancel
Up
0
Down
Cancel
Children
No data