ARM中断处理类型
发布时间:2008/12/26 0:00:00 访问次数:781
在正常的程序执行流程发生暂时的停止时,称为中断,例如,处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
中断与堆栈设置和arm体系结构紧密相关,arm是一种支持多任务操作的系统内核,内部结构完全适应多任务应用。arm内核支持7种中断,不同的中断处于不同的处理模式(如表1所示),具有不同的优先级,而且每个中断都有固定的中断入口地址。当一个中断发生时,相应的r14(lr)存储中断返回地址,spsr存储状态寄存器cpsr的值。
由于arm内核支持流水线工作,lr寄存器存储的地址可能是发生中断处后面指令的地址,所以不同的中断处理完成后,必须将lr寄存器值经过处理后再写入r15(pc)寄存器。
表1 arm的7种中断
arm体系结构所支持的异常及具体含义如表2所示。
表2 arm所支持的异常及其具体含义
续表
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
在正常的程序执行流程发生暂时的停止时,称为中断,例如,处理一个外部的中断请求。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序可以继续执行。处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
中断与堆栈设置和arm体系结构紧密相关,arm是一种支持多任务操作的系统内核,内部结构完全适应多任务应用。arm内核支持7种中断,不同的中断处于不同的处理模式(如表1所示),具有不同的优先级,而且每个中断都有固定的中断入口地址。当一个中断发生时,相应的r14(lr)存储中断返回地址,spsr存储状态寄存器cpsr的值。
由于arm内核支持流水线工作,lr寄存器存储的地址可能是发生中断处后面指令的地址,所以不同的中断处理完成后,必须将lr寄存器值经过处理后再写入r15(pc)寄存器。
表1 arm的7种中断
arm体系结构所支持的异常及具体含义如表2所示。
表2 arm所支持的异常及其具体含义
续表
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
上一篇:ARM中断及相关寄存器
上一篇:A/D采样软件设计