打印
[ZLG-ARM]

【请教】IRQ疑问

[复制链接]
1588|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huzixian|  楼主 | 2010-8-18 22:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ZLG工程师,
      您好!
      其实在18号下午5点我打过一次电话,但是楞是没把自己要表达的意思表达清楚,只能在发帖了.....
$IRQ_Label
1        SUB     LR, LR, #4                             

2        STMFD   SP!, {R0-R3, R12, LR}           
3        MRS     R3, SPSR                                
4        STMFD   SP!, {R3}


5        STMFD   SP, {LR}^                       ; 保存用户状态的SP,注意不能回写
                                                ; 如果回写的是用户的SP,所以后面要调整SP
6        SUB     SP, SP, #4

7        MSR     CPSR_c, #(NoInt | SYS32Mode)      
  
8        BL      $IRQ_Exception_Function        

   
Timer0_Handler  HANDLER Timer0

我说说我理解的脉络:
-> 程序运行(USE模式)
->发生Timer0 IRQ中断  (利用宏跳转到上面代码) 这个时候为IRQ模式 需要保存USE模式下的任务环境,代码
                                   1-4完成了此功能  在这些代码中出现的SP   就是SP_irq
                                   接下来,因为需要跳转到Timer0去处理,需要切换成SYS模式,为了处理完子程序,


问题就是

        不清楚代码5   6  起什么作用了? 能不能按我上面说的脉络,帮我解释下?
        辛苦了!

相关帖子

沙发
S3C2440| | 2010-8-19 21:50 | 只看该作者
不知道你查看的是哪一个开发板上的工程文件? 

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

262

主题

1534

帖子

2

粉丝