快速学Arm--中断向量控制器VIC

来源:本站
导读:目前正在解读《快速学Arm--中断向量控制器VIC》的相关信息,《快速学Arm--中断向量控制器VIC》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《快速学Arm--中断向量控制器VIC》的详细说明。
简介: 向量中断控制器(VIC,Vectored Interrupt Controller):具有32个中断请求输入,可将其分为3类:FIQ,向量IRQ,非向量IRQ.可编程分配机制意味着不同外设的中断优先级可以动态分配并调整.

技术生涯,半生荣辱,每天都是生活在痛并快乐中,我讨厌的东西总是不得不天天面对,麻木和无所谓也就是这样产生的.但对于技术的好奇和追求是我下半生依然不会停止的事情,虽然驽钝,只要每日有所得,也有所追求足以.

这两天在忙于另外一个程序,由于上家的延误,使我又有了点空闲,继续来学习已经不是新事物的新事物.:-)

前几天决定了从简单的单任务Arm程序学起,放下手中的uC/OS-II书籍,发现手中又少了可以阅读的东西.好在网上有很多可以参考的资料,只是这些资料不是专为LPC2400写的.不过没关系,手里还有LPC2400的datasheet,对照的看就可以了.Arm的原理大同小异,只是型号之间有所区别罢了.

下面的这本书对初学者很有帮助,在网上狂搜了一通,终于找到了电子档,我想这应该不算我盗版吧?

深入浅出ARM7-LPC213x_214x(上).pdf

深入浅出ARM7-LPC213x_214x(下).pdf

自己找找,应该能在网上翻到.我不喜欢按照数的顺序来读,而是挑选自己认为正确的顺序来读.我们一起来研究一下中断向量控制器吧,也就是英文缩写的"VIC"

向量中断控制器(VIC,Vectored Interrupt Controller):

.具有32个中断请求输入,可将其分为3类:FIQ,向量IRQ,非向量IRQ.可编程分配机制意味着不同外设的中断优先级可以动态分配并调整.

.快速中断请求(FIQ,Fast Interrupt reQuest):要求有最高的优先级.如果分配给FIQ的请求多于1个,VIC将中断请求"相或"后像ARM处理器产生FIQ信号.当只有一个中断被分配为FIQ时,可实现最短的FIQ等待时间.因为FIQ服务程序只有简单地启动器件的处理器就可以了.如果分配给FIQ级的中断多于1个,FIQ服务程序需要取FIQ状态寄存器啦识别产生中断请求的FIQ中断源.

.向量IRQ(Vector IRQ)具有中等优先级.该级别可分配32个的16个.32个请求中的任意16个向量IRQ slot中的任意一个.其中slot0具有最高优先级,而slot15则为最低优先级.

.非向量IPR(Non-vectored IRQ)的优先级最低:

.VIC将所有向量和非向量的IRQ"相或",将相或的结果向ARM处理器产生IRQ信号.IRQ服务程序可通过读取VIC的一个寄存器立即启动并跳转到相应的地址.如果有任意一个向量IRQ发出请求,VIC这提供最高优先级请求IRQ服务程序的地址,否则提供默认程序的地址.该默认程序有所有非向量IRQ共用.默认程序可读取另一个VIC寄存器以确定哪个IRQ被激活.

.VIC中所有的寄存器都为字寄存器,即32bit,不支持字节和半字的读和写操作.

总结一下:

.最多32个中断请求输入

.16个向量IRQ中断

.16个优先级,可动态分配给中断请求.

.可产生软件中断

关于VIC还有很多内容要学,看了后继续把笔记写下来,与大家共勉.

提醒:《快速学Arm--中断向量控制器VIC》最后刷新时间 2024-03-14 01:13:18,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《快速学Arm--中断向量控制器VIC》该内容的真实性请自行鉴别。