主题 : mini2440 裸机程序 IRQ中断处理  问题 复制链接 | 浏览器收藏 | 打印
为智能化控制的发展不断努力着!
级别: 侠客
UID: 9957
精华: 0
发帖: 52
金钱: 260 两
威望: 52 点
贡献值: 0 点
综合积分: 104 分
注册时间: 2009-10-19
最后登录: 2014-11-18
楼主  发表于: 2012-09-08 10:49

 mini2440 裸机程序 IRQ中断处理  问题

    在mini2440光盘中,提供了一个逻辑程序。其中2440init.s函数对异常进行了处理,分析IRQ处理部分,没有发现有从IRQ模式返回之前模式的操作。IRQ中断操作如下:
IsrIRQ
    sub    sp,sp,#4       ;reserved for PC
    stmfd    sp!,{r8-r9}

    ldr    r9,=INTOFFSET
    ldr    r9,[r9]
    ldr    r8,=HandleEINT0
    add    r8,r8,r9,lsl #2
    ldr    r8,[r8]
    str    r8,[sp,#8]
    ldmfd    sp!,{r8-r9,pc}

    麻烦大家帮忙分析下,谢谢