当前位置:首页 > 单片机 > 单片机
[导读] 转载自 http://blog.csdn.net/qqliyunpeng/article/details/48791715一、简介:异常: 是一种突发情况。异常发生后,处理器要进行相应的处理(异常处理),切换到对应的异常工作模式。二、四大步三小步

转载自 http://blog.csdn.net/qqliyunpeng/article/details/48791715


一、简介:

异常:

是一种突发情况。异常发生后,处理器要进行相应的处理(异常处理),切换到对应的异常工作模式。

二、四大步三小步:(异常处理的硬件完成的事项)

(1)拷贝 CPSR 到 SPSR_

(2)设置适当的 CPSR 位:

①改变处理器状态进入 ARM 状态

②改变处理器模式进入相应的异常模式

③设置中断禁止位禁止相应中断 (如果需要)

(3)保存返回地址到 LR_

(4)设置 PC 为相应的异常向量

三、异常处理的返回: --通过异常返回指令1. 要做的:
  • 从 SPSR_恢复CPSR

  • 从LR_恢复PC

2. 返回的具体实现指令:

①第一种方式:指令带 “S” 后缀 + PC做为目的寄存器

movs pc,lr

②第二种方式:如果 lr之前被压栈的话使用LDM +“ ^”

ldmfd sp!,{ pc }^

注意:有些异常处理返回值需要修正lr寄存器

所有从异常返回的情况:

a、从SWI和Undef 异常返回:

movs pc,lr

b、从FIQ, IRQ和 预取异常(Prefect Abort)返回:

SUBS pc,lr,#4 == @ pc = lr -4 和cpsr = spsr 两句

c、从数据异常(Data Abort)返回:

SUBS pc,lr,#8

d、如果LR之前被压栈的话:

MOVS pc,lr

四、异常源处理优先级表:1. 表:

Reset 最高

Data Abort //数据存取异常

FIQ

IRQ

Prefetch Abort

SWI

Undefined instruction

2. 向量表指令:

①异常向量表:放的是不同异常源的处理地址。

②异常向量表指令:

LDR PC, [PC, #+0xFF0] 可寻址±4k

MOV PC, #0x30000000 立即数

B IRQ_handler 可寻址±32M

五、中断控制器:1. 为什么会有中断控制器?:

ARM内核(小核)只有两个中断源,用中断控制器来扩展中断源

2. 中断控制器要实现的功能 / 中断控制器的作用:
  1. 择优----(优先级)

  2. 跳转到对应的中断处理函数

  3. 选择处理该中断源的cpu


六、FIQ 比 IRQ快的原因:
  1. fiq 比 irq 的优先级高

  2. FIQ 向量位于向量表的最末端,异常处理不需要跳转

  3. FIQ 比 IRQ 多5个私有的寄存器(r8-r12),在中断操作时,压栈出栈操作的少。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ARM系统几乎都采用Linux的操作系统,而且几乎所有的硬件系统都要单独构建自己的系统,与其他系统不能兼容,这也导致其应用软件不能方便移植,这一点一直严重制约了ARM系统的发展和应用。GOOGLE开发了开放式的Andro...

关键字: Linux x86 ARM

随着计算需求的多样化,尤其是随着移动设备、嵌入式系统和云计算的兴起,ARM 和 x86 架构之间的争论变得更加突出。ARM(高级 RISC 机器)和 x86 代表两种不同类型的处理器架构,每种架构都针对不同的工作负载和用...

关键字: Linux x86 ARM

从画质优化 (NSS) 到帧率提升 (NFRU) 和光线追踪(NSSD),Arm 计划覆盖移动端图形处理的多个维度,推动边缘 AI 图形革命。而未来通过持续的技术迭代,Arm也将保持在移动计算领域的技术领先,满足手游、A...

关键字: ARM 神经图形技术 GPU AI ML

7月31日消息,据媒体报道,芯片架构提供商Arm Holdings首席执行官Rene Haas宣布,公司正加大投入开发自有芯片产品,此举标志着其从传统IP授权模式向提供实体芯片的战略重大转变。

关键字: ARM META

7月28日消息,2025年,中国AI硬件市场规模将首次突破万亿元大关。

关键字: AI ARM

受生成式 AI 驱动, RISC-V 芯片市场快速发展。预计到2030年,RISC-V SoC出货量将达到1618.1亿颗,营收将达到927亿美元。其中,用于AI加速器的RISC-V SoC出货量将达到41亿颗,营收将达...

关键字: RISC-V CPU AI CUDA ARM 推理
关闭