ZYNQ-异常与中断原理

异常:CPU停止正常工作,执行专用的特权的一段软件程序,使系统恢复正常。

Coretex-A9的异常包括:

1.中断、

FIQ优先于IRQ:

IRQ(Interrupt Request):指中断模式。

FIQ(Fast Interrupt Request):指快速中断模式。

IRQFIQ是ARM处理器的两种不同编程模式(ARM有7种处理模式)。在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ的。

一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ

进入IRQ中断后,CPSR的I位被置1,禁止新的irq中断,但是可以通过清零I位人为打开irq中断,允许新的irq中断被响应。

不过I位清零的时机要把握好,而且要综合考虑中断的触发频率和优先级。

一般是在进入中断后,先清除中断源,然后清零CPSR寄存器的I位,执行中断服务代码,再次置位CPSR寄存器的I位,退出中断服务代码。


2.异常终止

3.复位

复位是最高优先级异常而且不能被屏蔽。

4.异常生成指令


工作模式有:
(1)用户模式(usr , User Mode)。ARM处理器正常的程序执行状态。
(2)快速中断模式(fiq , Fast Interrupt Request Mode)。用于高速数据传输或通道处理。当触发快速中断时进入此模式。
(3)外部中断模式 ( irq , Interrupt Request Mode )。用于通用的中断处理。当触发外部中断时进入此模式。
(4)管理模式 ( svc , Supervisor Mode )。操作系统使用的保护模式。在系统复位或者执行软件中断指令SWI时进入。
(5)数据访问终止模式 ( abt , Abort Mode )。当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
(6)系统模式(sys , System Mode )。运行具有特权的操作系统任务。
(7)未定义指令中止模式 ( und , Undefined Mode )。当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
     在ARM和Thumb指令集中,都有SVC指令,SVC用于用户代码想要访问系统特级部分。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值