理论教育 VIC寄存器在ARM嵌入式系统中的应用

VIC寄存器在ARM嵌入式系统中的应用

时间:2023-11-03 理论教育 版权反馈
【摘要】:VIC所包含多个寄存器,所有寄存器都为字寄存器。VICSoftInt寄存器的功能如表3-20所列。表3-26 VICIRQStatus寄存器功能8.FIQ状态寄存器VICFIQStatus该寄存器读取使能并分配为FIQ的中断请求状态。表3-27 VICFIQStatus寄存器功能9.向量控制寄存器VICVectCnt10~VICVectCntl15每个寄存器控制16个向量IRQ slot中的一个。在VICVectCnt1寄存器中禁止一个向量IRQ slot不会禁止中断本身,中断只是变为非向量的形式。

VIC寄存器在ARM嵌入式系统中的应用

VIC所包含多个寄存器,所有寄存器都为字寄存器。不支持字节和半字的读和写操作。下面按照VIC逻辑中的使用顺序对VIC寄存器进行描述,该顺序为:从与中断请求输入最密切的寄存器到由软件使用的最抽象的寄存器。

1.软件中断寄存器VICSoftInt

在执行任何逻辑之前,将该寄存器的内容与32个不同外设的中断请求相或。VICSoftInt寄存器的功能如表3-20所列。

表3-20 VICSoftInt寄存器功能

978-7-111-44508-1-Chapter03-31.jpg

2.软件中断清零寄存器VICSoftIntC1

该寄存器在不需读取软件中断寄存器的情况下,可用软件清零软件中断寄存器中的一个。VICSoftIntC1寄存器的功能如表3-21所列。

表3-21 VICSoftIntC1寄存器功能

978-7-111-44508-1-Chapter03-32.jpg

3.所有中断状态寄存器VICRawIntr

该寄存器读取所有32个中断请求和软件中断的状态,不管中断是否使能或分类。VICRawIntr寄存器的功能如表3-22所列。

表3-22 VICRawIntr寄存器功能

978-7-111-44508-1-Chapter03-33.jpg

4.中断使能寄存器VICIntEnable

该寄存器使能分配为FIQ或IRQ的中断请求或软件中断。VICIntEnable寄存器的功能如表3-23所列。

表3-23 VICIntEnable寄存器功能

978-7-111-44508-1-Chapter03-34.jpg

5.中断使能清零寄存器VICIntEnC1

该寄存器在不需要读取中断使能寄存器的情况下,可用软件清零其中的一个或多个位。VICIntEnC1寄存器的功能如表3-24所列。

表3-24 VICIntEnC1寄存器功能

978-7-111-44508-1-Chapter03-35.jpg

6.中断选择寄存器VICIntSelect

该寄存器将32个中断请求分别分配为FIQ或IRQ。VICIntSelect寄存器的功能如表3-25所列。

表3-25 VICIntSelect寄存器功能

978-7-111-44508-1-Chapter03-36.jpg

7.IRQ状态寄存器VICIRQStatus

该寄存器读取使能并分配为IRQ的中断请求状态,不区分向量和非向量IRQ。VICIRQStatus寄存器的功能如表3-26所列。(www.daowen.com)

表3-26 VICIRQStatus寄存器功能

978-7-111-44508-1-Chapter03-37.jpg

8.FIQ状态寄存器VICFIQStatus

该寄存器读取使能并分配为FIQ的中断请求状态。如果有超过一个请求分配为FIQ,FIQ服务程序可读取该寄存器来确定是哪个请求被激活。VICFIQStatus寄存器的功能如表3-27所列。

表3-27 VICFIQStatus寄存器功能

978-7-111-44508-1-Chapter03-38.jpg

9.向量控制寄存器VICVectCnt10VICVectCntl15

每个寄存器控制16个向量IRQ slot中的一个。slot0最高,slot15最低。在VICVectCnt1寄存器中禁止一个向量IRQ slot不会禁止中断本身,中断只是变为非向量的形式。VICVectCnt10~15寄存器的功能如表3-28所列。

表3-28 VICVectCntl0~15寄存器功能

978-7-111-44508-1-Chapter03-39.jpg

10.向量地址寄存器VICVectAddr0~VICVectAddr15

这些寄存器保存16个向量IRQ slot中断服务程序的地址,VICVectAddr0~15寄存器的功能如表3-29所列。

表3-29 VICVectAddr0~15寄存器功能

978-7-111-44508-1-Chapter03-40.jpg

11.默认向量地址寄存器VICDefVectAddr

该寄存器保存非向量IRQ中断服务程序的地址,VICDefVectAddr寄存器的功能如表3-30所列。

表3-30 VICDefVectAddr寄存器功能

978-7-111-44508-1-Chapter03-41.jpg

12.向量地址寄存器VICVectAddr

当发生一个IRQ中断时,IRQ服务程序可读取该寄存器并跳转到读出的地址,VICVectAddr寄存器的功能如表3-31所列。

表3-31 VICVectAddr寄存器功能

978-7-111-44508-1-Chapter03-42.jpg

13.保护使能寄存器VICProtection

运行在用户模式下的软件使用该寄存器来控制对VIC寄存器的访问,VICProtection寄存器的功能如表3-32所列。

表3-32 VICProtection寄存器功能

978-7-111-44508-1-Chapter03-43.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈