Keil™, An ARM® Company

Technical Support

RL-ARM: PROGRAM HANGS ON SWI INTERRUPT


Information in this article applies to:

  • RL-ARM Version 3.02
  • RL-ARM All Versions

QUESTION

I recently converted my application to use the RL-ARM RTX kernel. Now when I try to debug, the program hangs on the SWI_handler. This didn't happen before I added the RTX kernel. Why does this happen now?

ANSWER

For RL-ARM applications, you must use the SWI_Handler from the RealView Real-Time Library. To do this, make the following 2 changes (marked in red below) to the interrupt handler definition section in the STARTUP.S file:

                IMPORT  SWI_Handler

Undef_Handler   B       Undef_Handler
;SWI_Handler    B       SWI_Handler            ; Part of RTL
PAbt_Handler    B       PAbt_Handler
DAbt_Handler    B       DAbt_Handler
IRQ_Handler     B       IRQ_Handler
FIQ_Handler     B       FIQ_Handler

MORE INFORMATION

  • See the RL-ARM Real-Time Library User's Guide, RTX Kernel, Using RTX Kernel, Hints of Using page, Using IRQ Interrupts section.

SEE ALSO

Last Reviewed: Wednesday, September 26, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure