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

ARM11---中断---向量中断控制器(VIC)结合s3c6410

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

  1.为每个中断源分配一个中断请求输入端口。为每个中断请求分配一个中断请求输出端口,以能连接到处理器的VIC端口。

  但是一个向量中断控制器可以在硬件上,把所有的上述功能都实现了,他可以提供当前最高优先级的中断的ISR的起始地址和向量地址。

  0xffff0018的策略了。但是处理器的VIC端口不支持读 FIQ 的向量地址。

  IRQACK是由处理器发出的信号,用来告诉VIC:我想读取某某中断的中断处理程序的地址(IRQADDR)

  IRQADDRV是由VIC发出的信号,告诉处理器:ISR的地址已经发送,而且有效,你就放心的读吧!

  IRQACK和IRQADDRV在VIC和处理器之间实现了一个四次握手的机制。(后面有解释。)

  下面这个图是VIC端口操作时序的例子,情况是这样的:先有了一个IRQC,后来了一个IRQB,而且IRQB的优先级比较高。

  3.然后就在这关键的时候,突然来了一个中断IRQB,它告诉PL192 VIC,我比IRQC更急!!

  4.在B3和B4之间,处理器判断来的这个中断是不是IRQ,如果是则发送IRQACK 信号(高电平)。

  6.在B6阶段,VIC发出IRQADDRV信号(置高),IRQADDRV在处理器得到正确的ISR地址之前,一直是高电平,在这期间,就算来个更高优先级的中断要置高!不然IRQB这次中断就

  7.在B8阶段左右,处理器读取IRQADDR的值,正确读取后,就将IRQACK置低,因为他的使命已经完成了!

  9.当处理器得知IRQADDRV是低电平的时候,他就知道他又可以检测nIRQ了,所以如果VIC要停一段时间再将nIRQ置高的时候,必须保证IRQADDRV是高电平,不然,处理器就一直检测到

  中断处理程序要保证在程序的最后进行中断的清除,这样可以保证多个中断源共享一个中断线。另外,中断处理程序要通知PL192 VIC当前的中断的ISR已经结束.

  PL192 VIC是不支持快速中断的,所以s3c6410中断流程图就这样画:

  所有的快速中断跑到VCI1,又通过VIC0,来到了TZIC0,最终都由TZIC0一个个的发送到ARM1176了。

  今天写到这里,太累了,以后再写写内部中断(watch dog)和外部中断( key )具体流程。都是基于OK6410,今天的算是补充下理论知识。

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