Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
ARM926 Interrupt exception
Jump...
Cancel
Locked
Locked
Replies
6 replies
Subscribers
119 subscribers
Views
4733 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
ARM926 Interrupt exception
rmelizalde rmelizalde
over 12 years ago
Note: This was originally posted on 27th August 2009 at
http://forums.arm.com
Hi,
I would like to program an interrupt handler for ARM926ej.
According to reference, when CPU is interrupted, it jumps to address 0xFFFF0018 (interrupt vector).
Then, I suppose I have to program a jump instruction to my handler in that address. But I don't know how.
I'm using GNU toolchain.
Thank you very much
Ricardo
Parents
Robert Kellert
over 12 years ago
Note: This was originally posted on 28th August 2009 at
http://forums.arm.com
Normally, meaning most cases interrupts are at the lowest (physical) memory addresses so the Reset vector is at 0x00000000 followed by the other vectors at 0x4, 0x8, etc... It is possible to use a signal which will move the interrupt vector locations to high memory as is apparently done with your design.
There is excellent documentation on the ARM Web-site if you go to Technical Support and search. I am not sure if there examples are copyrighted or if they can be used on this forum. ARM gives the example of using addresses from a Literal pool with the LDR instruction or Load Register instruction.
LDR pc, Reset_Addr ; jump to reset ISR
I will point you to this invaluable code. See Example 6.1 in Section 6.2.2 under Realview Software Development Tools in the Documentation section. You need to learn to search and read some.
Cancel
Vote up
0
Vote down
Cancel
Reply
Robert Kellert
over 12 years ago
Note: This was originally posted on 28th August 2009 at
http://forums.arm.com
Normally, meaning most cases interrupts are at the lowest (physical) memory addresses so the Reset vector is at 0x00000000 followed by the other vectors at 0x4, 0x8, etc... It is possible to use a signal which will move the interrupt vector locations to high memory as is apparently done with your design.
There is excellent documentation on the ARM Web-site if you go to Technical Support and search. I am not sure if there examples are copyrighted or if they can be used on this forum. ARM gives the example of using addresses from a Literal pool with the LDR instruction or Load Register instruction.
LDR pc, Reset_Addr ; jump to reset ISR
I will point you to this invaluable code. See Example 6.1 in Section 6.2.2 under Realview Software Development Tools in the Documentation section. You need to learn to search and read some.
Cancel
Vote up
0
Vote down
Cancel
Children
No data