您好、欢迎来到现金彩票网!
当前位置:双彩网 > 向量指令 >

基于单片机2440test中断向量处理方案

发布时间:2019-06-04 02:56 来源:未知 编辑:admin

  下面主要分析的是“中断异常”说白了,就是我们平时单片机里面用的中断!!!所有有器件

  引起的中断,例如TIMER中断,UART中断,外部中断等等,都有一个统一的入口,那就是中断

  异常 IRQ ! 然后从IRQ的服务函数里面分辨出,当前究竟是什么中断,再跳转到相应的中断

  好了,这样的话就容易看的多了,很明显,HandlerIRQ 还是一个标号,IRQ异常向量就是跳

  转到这里执行的,这里粗略看一下,应该是保存现场,然后跳转到真正的处理函数,那么很容易

  开始,预留一个变量,每个变量一个标号,预留的空间为 4个字节,也就是 32BIT,其实这里放的是真正

  接着,我们需要安装IRQ处理句柄,说白了,就是设置处理函数的地址,让PC指针可以正确的跳转。

  说白了就是将 IsrIRQ 的地址填到 HandleIRQ对应的地址里面,前面说了 HandleIRQ 放的是中断处理的

  strr8,[sp,#8];中断入口地址送进SP(第一个代码留出的4字节空间)

  要理解这个代码,得先学学2440的中断系统了,INTOFFSET存放的是当前中断的偏移号,根据偏移就知道

  可以看到,前面几个是异常,从 HandleEINT0 就是 IRQ异常的向量存放的地方了,这样就可以理解为

  道理很简单, HandleEINT0 就是所有IRQ中断向量表的入口,在这个地址上面,加上一个适当的偏移量,

  首先,我们说了,HandleEINT0 开始的一段内存里面,存放的就是中断服务函数的函数指针,ARM的体系

  的线个字节,这里就解释了,为什么这里为每个标号分配了4个字节的空间,里面

  放的就是函数指针!!!下面再看看怎么跳转,继续看 IsrIRQ 里面就实现了跳转了

  其实最核心就是这两句了,先查找到当前中断服务程序的地址,将他放到 R8 里面,然后出栈,弹出给PC

  那么PC很自然就跳到中断服务程序了。至于这里的堆栈问题又是一个非常棘手的,需要好好的参透ARM的

  中断架构,需要了解的可以自己仔细的阅读 《ARM体系结构与编程》里面说的很详细。我们这里的重点

  最后,我们看看在C代码中是怎么安装终端向量的,例如看 按键的外部中断,是怎么具体设置的,参看

  可以理解否? Key_ISR就是上面提到的按键中断服务函数,函数的名字,代表的就是函数的地址!!!!

  将中断服务函数的地址,注意了,是地址,这是一个 U32型的变量。送到几个变量,我们以pISR_EINT0

  _ISR_STARTADDRESS有没有似曾相识的感觉?没错,刚才分析的汇编代码里面就提到了

  对,地址就是这里,然后 _ISR_STARTADDRESS+0x20 就是跳过前面的异常向量,进入IRQ中断向量的入口

  任何一种中断模式都可以通过手动的修改cpsr的值来进入。但是User和System模式是仅有的2个不...

  先说TC。即Transmission Complete。发送一个字节后才进入中断,这里称为“发送后中...

  近来在LPC的中断过程上看了点文献,作为一个初学者感觉这个内容与其它的处理器还是有很大的区别,比如说...

  ARM单片机是大多数新手选择的入门切入点,但由于知识的不足,在设计过程中新手们经常会遇到这样或那样的...

  子程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序。子程序在功能上具有相...

  在《单片机与程序设计(上)》中我们已经学习了将程序放在地址空间中,并在向量表中显示保存位置的内容。本...

  继《嵌入式编程之单片机的基本构成、工作原理》、《嵌入式编程之单片机的外围功能电路》、《单片机的编程语...

  在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中断...

  对ARM处理器的普通中断处理、任务切换中断处理、可重人中断处理和基于优先级的可重人性中断处理的上下文...

  一.ARM处理器异常及其对应的模式当一个异常发生时,ARM处理器总是切换到ARM状态(即非Thumb...

  单片机多中断处理技术的应用与研究 引言 PIC系列单片机中断源已经达到14个.可谓相当丰...

  LPC2292的伪中断与伪中断处理 工业以太网具有比现场总线更好的性能,正处于不断发展完善当中...

http://bluecaleel.com/xiangliangzhiling/101.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有