嵌入式控制系统课件-第4章 lpc2000系列arm硬件结构(5~39).pptVIP

  • 16
  • 0
  • 约1.99万字
  • 约 82页
  • 2016-11-29 发布于湖南
  • 举报

嵌入式控制系统课件-第4章 lpc2000系列arm硬件结构(5~39).ppt

向量IRQ0使能 中断源 向量IRQ0控制寄存器 VICVectCntl0 向量地址0寄存器 VICVectAddr0 默认向量地址寄存器 VICDefVectAddr 向量IRQ15使能 中断源 向量IRQ15控制寄存器 VICVectCntl15 向量地址15寄存器 VICVectAddr15 向量地址寄存器 VICVectAddr 寄存器描述-参数设置寄存器 名称 描述 复位置 地址 VICVectCntl0 ~ VICVectCntl15 向量控制0寄存器 ~ 向量控制15寄存器 0 0xFFFF F200 ~ 0xFFFF F23C VICVectAddr0 ~ VICVectAddr15 向量地址0寄存器 ~ 向量地址15寄存器 0 0xFFFF F100 ~ 0xFFFF F13C VICDefVectAddr 默认向量地址寄存器 0 0xFFFF F034 VICVectAddr 向量地址寄存器 0 0xFFFF F030 IRQ中断特点 4.9 向量中断控制器 特点 区别 向量 IRQ 支持16个向量IRQ中断; 16个优先级; 每个优先级指定一个服务程序入口地址。 能为每个非向量IRQ中断源设置服务程序地址。 非向量 IRQ 支持1个非向量IRQ中断; 所有非向量IRQ的入口地址都相同。 所有的非向量IRQ中断都共用一个相同的服务程序入口地址。 IRQ中断相关寄存器 4.9 向量中断控制器 寄存器名称 功能 VICVectCntl0~15 为中断源分配向量IRQ中断的优先级。 VICVectAddr0~15 为该中断优先级设置服务程序入口地址。 VICDefVectAddr 设置非向量中断服务程序的入口地址。 注意:如果将同一个中断源分配给多个使能的向量IRQ中断,那么该中断源发生中断时,会使用最高优先级(最低编号)的寄存器设置。 产生中断后的服务程序地址 4.9 向量中断控制器 向量IRQ中断 发生向量IRQ中断后,VIC将对应的向量地址寄存器中的数据存入VICVectAddr寄存器中。 非向量IRQ中断 发生非向量IRQ中断后,VIC将默认向量地址寄存器中的数据存入VICVectAddr寄存器中 IRQ中断状态寄存器 VICIRQStatus 中断选择寄存器 VICIntSelect 中断使能寄存器 VICIntEnable 中断使能清零寄存器 VICIntEnClr 中断源 [31:0] 软件中断使能寄存器 VICSoftInt 软件中断清零寄存器 VICSoftIntClear FIQ中断状态寄存器 VICFIQStatus 中断状态寄存器 VICRawIntr IRQ FIQ 寄存器描述-状态寄存器 名称 描述 访问 复位值 地址 VICIRQStatus IRQ状态寄存器 该寄存器读出定义为IRQ并使能的中断的状态 RO 0 0xFFFF F000 VICFIQStatus FIQ状态请求 该寄存器读出定义为FIQ并使能的中断的状态 RO 0 0xFFFF F004 VICRawIntr 所有中断的状态寄存器 该寄存器 读出32个中断请求/软件中断的状态,不管中断是否使能或分类 RO 0 0xFFFF F008 注意:读取VICRawIntr寄存器将得到所有32个中断请求和软件中断的状态,它不管中断是否使能或分类 。 保护使能寄存器 4.9 向量中断控制器 保护使能寄存器(VICProtection ): 位 [31:1] 0 功能 — 当该位为1时,只能在特权模式下访问VIC寄存器。 在某些场合可能需要禁止在用户模式下访问VIC寄存器,以提高软件的安全等级。 FIQ中断处理 4.9 向量中断控制器 SPSR_fiq = CPSR 1 2 CPSR = nzcvqIFt_fiq 3 LR_fiq = PC 4 PC = 0x1C 硬件处理 软件处理 中断服务程序 1 设置返回地址 2 恢复程序状态寄存器CPSR 3 SUBS PC, LR, #4 IRQ中断处理 4.9 向量中断控制器 硬件处理 SPSR_irq = CPSR 1 2 CPSR = nzcvqIft_irq 3 VICVectAddr = VICVectAddrn 4 LR_irq = PC 5 PC = 0x18 软件处理 执行中断服务程序 2 设置返回地址 3 恢复程序状态寄存器CPSR 4 获取中断服务程序地址 1 IRQ中断处理 4.9 向量中断控制器 SPSR_irq = CPSR 1 2 CPSR = nzcvqIft_irq 3 VICVectAddr = VICVectAddrn 4 LR_irq = PC 硬件处理 5

文档评论(0)

1亿VIP精品文档

相关文档