微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM linux的中断处理过程

ARM linux的中断处理过程

时间:11-09 来源:互联网 点击:

2、中断发生在svc mode下的退出过程,代码如下:

.macro svc_exit, rpsr, irq = 0
.if \irq != 0
@ IRQs already off
.else
@ IRQs off again before pulling preserved data off the stack
disable_irq_notrace
.endif
msr spsr_cxsf, \rpsr-----将中断现场的cpsr值保存到spsr中,准备返回中断发生的现场

ldmia sp, {r0 - pc}^ -----这条指令是ldm异常返回指令,这条指令除了字面上的操作,

还包括了将spsr copy到cpsr中。
.endm

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top