嵌入式开发第45天(ARM中断的原理与应用)

中断是什么鬼?

中断就是自发打断原有的工作状态,进入中断模式,完成中断对应工作,结束后,回到原来的状态。

ARM中有7个异常中断:

1、复位(reset)。ARM复位都是从0x00000000地址开始执行指令,优先级最高

     复位:上电、reset、看门狗复位

2、未定义指令(undefined instruction)。ARM在对一个指令进行译码的时候,译码出错。

3、软件中断(SWI)。使用ARM汇编指令SWI可以产生中断,这个中断就是SWI。其中linux的系统调用,就是使用这个SWI指令实现的。

4、指令预取中止:在取值阶段出错。当取指令的地址不存在或者禁止访问。

5、数据访问中止:数据处理阶段出错。如向一个只读的地址写入数据。

6、IRQInterrupt一般中断

7、FIQFast Interrput快速中断。



二、FIQIRQ的区别

1FIQIRQ是中断的两种类型,一个中断源可以设置成FIQ也可以设置成IRQ

2、在ARM的体系结构上,保证了FIQ是快于IRQ

1FIQ的优先级是高于IRQ

2FIQ的分组寄存器多于IRQ

3、一般情况下,只能将一个中断源设置成FIQ中断,这个中断就是最紧急需要处理的。

4、在嵌入式linux系统中,是不支持FIQ中断。在linux的中断驱动中,将寄存器的访问过程做好了封装。




三、210中,中断的框架



四、中断源


外部中断、定时器中断,看门狗中断、闹钟中断、串口中断。


五、中断程序的设计过程





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交叉编译之王 hahaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值