嵌入式第五十二天(GIC,协处理器,异常向量表)
一.GIC
GIC(Generic Interrupt Controller,通用中断控制器) 是ARM架构中管理系统中断的核心组件,负责接收、优先级排序、分发中断信号给处理器核心。
其核心功能和关键版本如下:
核心功能
1. 中断接收与分发:接收来自外设的中断请求,根据配置将中断路由到指定的CPU核心。
2. 优先级管理:为不同中断设置优先级,确保高优先级中断优先被处理。
3. 中断屏蔽与使能:支持全局或单个中断的屏蔽(禁止响应)与使能(允许响应)。
4. 安全扩展:支持ARM TrustZone技术,将中断分为安全中断和非安全中断,隔离不同权限的中断处理。
二.协处理器
协处理器:是协助主处理器完成特定功能的处理器,像进行浮点运算、加密解密等任务。
ARM Cortex - A7内核配备了多个协处理器(16个),常见的有用于系统控制的CP15协处理器等,主要用于实现内存管理、系统控制等功能。
三.异常向量表重映射
异常向量表重映射的原因:默认情况下,异常向量表在低地址(如0x00000000),但系统运行时,可能需要把异常向量表放到其他地址(比如更高的内存地址,方便操作系统或应用程序灵活管理内存空间),这样能更合理地利用内存,也便于对异常处理程序进行组织和管理。
重映射方法:通过设置协处理器(如CP15)中的相关寄存器(比如向量基址寄存器),将异常向量表的基地址修改为目标地址,使得处理器在处理异常时,能到新的地址去获取异常处理程序的入口