当前位置:首页 > 单片机 > 单片机
[导读] 转载自 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计划到2025年销售AI芯片。该公司专门成立一个AI芯片部门,并将在2025年春季之前制造出原型产品,并于秋季开始大规模生产。

关键字: 软银 AGI ARM AI芯片

业内消息,近日日本软件银行集团(SoftBank Group)旗下安谋国际科技公司(Arm)计划研发人工智能(AI)芯片,先成立一个AI芯片部门,目标是明年春季建立AI芯片原型产品,然后将量产工作交由代工厂制造,预估20...

关键字: ARM AI芯片

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

hmi是Human Machine Interface 的缩写,"人机接口",也叫人机界面。人机界面(又称用户界面或使用者界面)是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换...

关键字: HMI 人机界面 系统

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

在复位电路中,电容的作用是给系统提供恒定的电源电压,从而保证开机时系统能够正确地执行初始化和自检过程。因此,选择合适大小的电容对于系统的稳定性和性能至关重要。

关键字: 复位电路 电容 系统

随着汽车软件数量爆发式的增长,整个行业都需要重新思考汽车产品的开发流程。为此,Arm推出了丰富的硬件IP、新的系统IP,以及全新的汽车计算与计算子系统产品路线图,旨在为各种汽车应用实现性能、功能安全、可扩展等方面的支持。

关键字: ARM 汽车电子

知名移动芯片设计公司ARM最近迈出重要一步,它正式推出汽车芯片设计。ARM推出的芯片设计方案名叫Neoverse,随同芯片一起推出的还有面向汽车制造商、汽车供应商的新系统。

关键字: ARM 汽车芯片 芯片
关闭
关闭