原创 ARM的异常和中断处理

2008-2-18 13:34 5570 5 6 分类: MCU/ 嵌入式























    异常和中断处理,负责处理错误,中断和其他由外部系统触发的事件。


        ARM7种异常,数据中止、快速中断请求、中断请求、预取址中止、软件中断、复位及未定义指令。


        2种类型的中断,第一类是由外设引起的,即IRQFIQ。第二类是一条引发中断的特殊指令SWI。两种中断都会挂起正常的程序执行。


   
    异常是需要中止指令正常执行的任何情形,包括
ARM内核产生复位,取指或存储器访问失败,遇到未定义指令,执行了软件中断指令,或者出现了个外部中断等。异常处理就是处理这些异常情况的方法。大多数异常都对应一个软件的异常处理程序,一个在异常发生时执行的软件程序。


    每种异常都导致内核进入一种特定的模式。每个处理器模式都有一组各自的分组寄存器,处理器模式决定了哪些寄存器是活动的以及对cpsr的完全读/写访问。同时,通过编程改变cpsr,可以进入任何ARM处理器模式。用户和系统模式,不通过异常进入,只能修改cpsr


    异常和其模式


异常       
                            
模式          目的                  


快速中断请求       
             FIQ           
快速中断请求处理       


中断请求           
                 IRQ          
中断请求处理


SWI和复位         
               SVC          
操作系统的受保护模式


预取指中止和数据中止    abort          虚存或存储器保护处理


未定义指令                       undefined  软件模拟硬件协处理器



中断是由ARM外设引起的一种特殊的异常。IRQ异常用于通常的操作系统事物处理。FIQ异常一般是为单独的中断源保留的。IRQ 可以被 FIQ 所中断,但 IRQ 不能中断 FIQ。为了使 FIQ 更快,所以这种模式有更多的影子寄存器。FIQ 不能调用 SWI(软件中断)。FIQ 还必须禁用中断。


    每个外围设备都有一条中断线连接到向量中断控制器
外设功能的中断源,一般有WDT定时器UARTI2CSPIRTCA/D等等。可以通过寄存器设置这些中断的优先级。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户112678 2008-2-21 11:58

中断之间是有优先级的~
相关推荐阅读
用户1003858 2014-03-04 11:18
电子花样机控制系统-常州数控技术研究所
CZSK-GE01花样机控制系统 CZSK-GE01是常州数控技术研究所自主研发的一款花样机控制系统,适用于电脑花样机G款,E款,210D款用途,系统采用模块化设计,可以应用于多种不同机型,可...
用户1003858 2014-03-03 16:31
三轴运动控制器-常州数控技术研究所
三轴控制器介绍 控制器由手持盒(CZSK02T)和控制器(CZSK02M)组成,两者通过串口连接,手持盒完成人机交互功能,图形化的示教方式生成用户轨迹文件,支持G代码导入,DXF图形导入,PL...
用户1003858 2010-06-28 09:08
ARM资料网站推荐
http://www.stmfans.com/bbs/?fromuid=4215 http://www.stmfans.com/bbs/?fromuser=cyzgod关于STM32的资料,值得一看哦...
用户1003858 2010-06-09 10:53
STM32 AD
关于STM32的12位AD,前些日子经过实际使用,使用外部电源参考,精度能达到11位,最起码能保证10位精度。可放心使用。...
用户1003858 2009-12-26 14:22
STM32 I2C使用
    用了STM32F103的I2C读写CAT1025的EEPROM,采用的是STM32给的固件例子,网上反映的问题也挺多的。说不好使,用了下,确实是它奶奶的郁闷。不过,也不是不能用。    首先,...
用户1003858 2009-10-16 17:58
常州数控培训
投身制造业的“黄埔军校”<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />常州数控培训...
我要评论
1
5
关闭 站长推荐上一条 /3 下一条