你现在位置:首页>技术论文>电气常识>嵌入式系统>正文
LPC中的中断处理小结
日期:2009-8-25 23:10:21 点击:
来源:互联网
作者:
点击【】放大字体.
P.L.C.技.术.网——可编程控制器技术门户

近来在LPC的中断过程上看了点文献,作为一个初学者感觉这个内容与其它的处理器还是有很大的区别,比如说三星的S3C4510B,两者在中断的处理上理念是完全不同的,个人感觉LPC的要难一些,很多地方感觉上是在和ARM的规范打擦边球,下面具体说一下相关内容。
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

基础知识:LPC2294EXT中断分为了三类,包括FIQVectored IRQnon-- Vectored IRQ,其中,以FIQ的优先级最高,而以non-- Vectored IRQ的优先级最低,系统一共提供了27个中断源,并且给这27个中断源进行了固定的编号,但是注意,这个编号和优先级没有任何的关系,并非是编号在前面的优先级就越高,见下面说明。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

关键内容:两套控制渠道,
plcjs.技.术_网

第一套:在ARM体系中,本来有SWIFIQIRQ等这些中断的定义,并且已经定义了这些中断的开关控制位,就是在CPSR寄存器中,该寄存器包含了一个I位和一个F位,I位用于控制IRQ中断的开关,F用于控制FIQ的开关,但是值得注意的是CPSR的读取和修改在用户模式下是不能完成的,必须要通过SWI指令进入到特权模式下才可以进行修改。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

第二套:在LPCSFR(特殊功能寄存器)中,也提供了一套寄存器用于控制相应的中断的进行,这组控制器叫做VIC寄存器(都以VIC开头),改组寄存器包括了所有的与中断有关的设置,开启,分类等功能,仅仅是将外部中断引脚对应的部分功能分离出去,由EXT系列的寄存器来处理,因此,对这一个系列的寄存器的掌握是非常重要的!
WWW_PLCJS_COM-PLC-技.术_网

两者间的关系:仅仅在第二套控制渠道下打开FIQIRQ中断是不够的,如果ARM内核没有开中断的话,整个系统就不会有中断产生,因此,常见的做法是这样:先将第二套渠道的控制内容处理好,然后通过SWI软件中断指令,将ARM处理器的模式切换为特权模式,在特权模式下,对CPSR进行“读出-修改-写回”的操作,将中断打开,然后在返回到用户模式。
P.L.C.技.术.网——可编程控制器技术门户

LPC的中断的特殊性:FIQ的中断和普通的ARM规定是没有任何区别的,即是在产生中断时,指令跳转到0x0000001C处开始执行,这个是没有什么疑问的。但是IRQ的响应过程就不同了,先看下面一段代码,这个是写在程序的头部的部分字节:
WWW.PLCJS.COM——可编程控制器技术门户

Reset
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        LDR     PC, ResetAddr       ;// 0x00000000Reset                                --->Supervisor Mode
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

        LDR     PC, Und_Addr        ;// 0x00000004Undefined Instruction      --->Undefined Mode
WWW_P※LCJS_COM-PLC-)技.术_网

        LDR     PC, SWI_Addr        ;// 0x00000008Software Interrupt          --->Supervisor Mode
WWW_PLC※JS_COM-PmLC-技.术_网

        LDR     PC, PAbort_Addr     ;// 0x0000000cAbort(Prefetch)                --->Abort Mode
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

        LDR     PC, DAbort_Addr     ;// 0x00000010Abort(Data)                           --->Abort Mode
WW.W_PLC※JS_C,OM-PL,C-技.术_网

        DCD            0xB9205F80      ;// 0x00000014Reserved                             --->
WWW_PLCJS@_COM%-PLC-技.术_网

        LDR     PC, [PC,#-0xFF0]    ;// 0x00000018IRQ                                         --->IRQ Mode

本新闻共2页,当前在第11 2  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行