一、中断控制器
中断控制器模块包括 其使能寄存器,状态寄存器等。
中断使能寄存器为32bit,每一个bit 对应一个中断源,具体对应到硬件上线的连接
二、cpu怎样调用到中断
(1). 前置工作
首先是cpu关于start.S汇编文件中关于中断控制器的几个要求 :
1. 定义中断处理函数要在对应的位置
我的工程中放在text段后128字节,后面每一个函数对应一个中断源
2. psr状态寄存器的配置
IC-中断控制位:
当 IC 为 0 时,中断只能在指令之间被响应;
当 IC 为 1 时,表明中断可在长时间、多周期的指令执行完之前被响应;
IE-中断有效控制位:
当 IE 为 0 时,中断无效,EPC 和 EPSR 都无效;
当 IE 为 1 时,中断有效,(此时 EE 位也需要为 1,否则中断依然无效);
这两个要配1
(2)调用过程
1. 模块向中断控制器发起中断请求
2. 处理器处理中断请求调用start.S中对应的中断服务程序
3. 中断服务程序退出