今天小编要和大家分享的是嵌入式技术相关信息,接下来我将从ARM处理器的异常模式,寄存器(内存访问)ppt这几个方面来介绍。
嵌入式技术相关技术文章ARM处理器的异常模式
关于“进入异常”:在异常发生后,ARM7TDMI内核会作以下工作:
1.在适当的LR中保存下一条指令的地址,当异常入口来自:
ARM状态,那么ARM7TDMI将当前指令地址加4或加8复制(取决于异常的类型)到LR中;
为Thumb状态,那么ARM7TDMI将当前指令地址加4或加8 (取决于异常的类型)复制到LR中;异常处理器程序不必确定状态。
2.将CPSR复制到适当的SPSR中;
3. 将CPSR模式位强制设置为与异常类型相对应的值;
4.强制PC从相关的异常向量处取指。
ARM7TDMI内核在中断异常时置位中断禁止标志,这样可以防止不受控制的异常嵌套。
注:异常总是在ARM状态中进行处理。当处理器处于Thumb状态时发生了异常,在异常向量地址装入PC时,会自动切换到ARM状态。
关于“退出异常”:当异常结束时,异常处理程序必须:
1.将LR中的值减去偏移量后存入PC,偏移量根据异常的类型而有所不同;
2.将SPSR的值复制回CPSR;
3.清零在入口置位的中断禁止标志。
注:恢复CPSR的动作会将T、F和I位自动恢复为异常发生前的值。
下面利用,图示来演示“进入异常”过程:
1. 程序在系统模式下运行用户程序,假定当前处理器状态为Thumb状态、允许IRQ中断;
2. 用户程序运行时发生IRQ中断,硬件完成以下动作: