一,简单介绍
VIC(向量中断控制器)包括:FIQ, IRQ, 非IRQ ;
快速中断请求(FIQ)要求具有最高优先级。如果分配给FIQ 的请求多于1 个,VIC将中断请求“相或”后向ARM 处理器产生FIQ 信号。当只有一个中断被分配为FIQ 时可实现最短的FIQ 等待时间,因为FIQ 服务程序只要简单地启动器件的处理就可以了。但如果分配给FIQ 级的中断多于1 个,FIQ 服务程序从VIC 中读出一个字来识别产生中断请求的FIQ 中断源是哪一个。
向量 IRQ 具有中等优先级。该级别可分配32 个请求中的16 个。32 个请求中的任意一个都可分配到16 个向量IRQ slot 中的任意一个,其中slot0 具有最高优先级,而slot15则为最低优先级。
非向量 IRQ 的优先级最低。
VIC 将所有向量和非向量IRQ“相或”向ARM 处理器产生IRQ 信号。IRQ 服务程序可通过读取VIC 的一个寄存器立即启动并跳转到相应地址。如果有任意一个向量IRQ 发出请求,VIC 则提供最高优先级请求IRQ 服务程序的地址,否则提供所默认程序的地址。该默认程序由所有非向量IRQ 共用。默认程序可读取另一个VIC 寄存器以确定哪个IRQ被激活。
VIC 中所有的寄存器都为字寄存器。不支持字节和半字的读和写操作。
重点讲IRQ (向量中断)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !