Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Is there ANY Cortex core that supports reentrant interrupts?
Jump...
Cancel
Locked
Locked
Replies
16 replies
Subscribers
119 subscribers
Views
13908 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
Is there ANY Cortex core that supports reentrant interrupts?
Konstantin Dimitrov
over 12 years ago
Note: This was originally posted on 28th February 2011 at
http://forums.arm.com
For some (external to me) reason I am stuck with the Cortex but trying to find work around to my software issues with the lack of reentrant interrupts in CM3. Does CM4 support reentrancy? Or maybe CM0? Anything at all?
Please help!
Parents
Joseph Yiu
over 12 years ago
Note: This was originally posted on 15th March 2011 at
http://forums.arm.com
The example is for showing Non-base thread enable but isn't really intend to be using as reentrant exception.
In the beginning of the SysTick handler, you need to use another higher priority exception (e.g. calling an SVC service 0 in the example, but make sure the priority of SVC is higher than your SysTick handler. Hardfault exception would be triggered otherwise.)
After SVC return, switch off the active status of the SysTick exception. Now you should be able to trigger the SysTick exception again.
In general I think (note: personal opinion here) it is best to avoid using reentrant of same exception.
Since the SysTick exception can be a normal C function, you can just call it directly without trigger a exception.
Alternative you could avoid reentrant code all together. Many OS has been developed for Cortex-M3 without the need to use reentrant of SysTick handler.
Cancel
Vote up
0
Vote down
Cancel
Reply
Joseph Yiu
over 12 years ago
Note: This was originally posted on 15th March 2011 at
http://forums.arm.com
The example is for showing Non-base thread enable but isn't really intend to be using as reentrant exception.
In the beginning of the SysTick handler, you need to use another higher priority exception (e.g. calling an SVC service 0 in the example, but make sure the priority of SVC is higher than your SysTick handler. Hardfault exception would be triggered otherwise.)
After SVC return, switch off the active status of the SysTick exception. Now you should be able to trigger the SysTick exception again.
In general I think (note: personal opinion here) it is best to avoid using reentrant of same exception.
Since the SysTick exception can be a normal C function, you can just call it directly without trigger a exception.
Alternative you could avoid reentrant code all together. Many OS has been developed for Cortex-M3 without the need to use reentrant of SysTick handler.
Cancel
Vote up
0
Vote down
Cancel
Children
No data