lee_guolong 发表于 2012-08-18 21:04

linux下编写arm中断问题

sub lr, lr,#4
stmdb sp! ,{r0-r12, lr}

ldr lr, =int_return
ldr pc,=EINT_Handle

int_retrun:
ldmia sp!,{r0-r12,pc}^

这里的ldr pc,=int_return 有什么用呢?据书上说是EINT_Handle后的返回地址,那么到底返回到哪里呢,如果这个是返回地址,据自己的理解sub lr,lr,#4中设置的lr才是返回地址呀。高手指教啊!!!!!!!!!!!!!!!:oops:

longzmkm 发表于 2012-08-20 14:21

我看ldr pc,=EINT_Handle这个EINT_Handle应该是中断函数 入口吧

wlqiuxing 发表于 2012-08-22 14:08

Hi,see this:
      sub lr, lr, #4                     @ to calculate the return address      
      stmdb sp!, {r0-r12,lr}
      ldr lr, =int_return               @ restore the return address
      ldr pc, =int_handle             @ call for the interrupt handler
页: [1]
查看完整版本: linux下编写arm中断问题