ARM7中断向量控制器,学习体会
来源:互联网 发布:comicstudio mac 编辑:程序博客网 时间:2024/06/04 19:09
ARM内核只有FIQ和IRQ两个中断线,如果要扩展中断,就须要用到中断向量控制器。
快速中断和IRQ中断使能,通过CPSR中的I标志位和F标志位设置1来使能中断。
中断使能寄存器,32位,写入1为使能,写入0无效。
例如使能Timer0中断 VICIntEnable=1<<Timer0_Num 因为写入0无效。
中断使能清零寄存器,写入1,禁止中断。
向量地址寄存器(VICCectAddr ),但发生IRQ后,CPU读取该寄存器并跳转到对应的地址,但是不能直接赋值,而是通过VIC
DefVectAddr或者VICVectAddr0~15中复制来的。
VICDefVectAddr用于分配非向量IRQ中断的地址。
向量地址寄存器0~15分别对应16个向量IRQ通道的响应地址。
例如分配中断通道号为4的定时器,分配IRQ0通道0.
VICIntSelect = 0x00;
VICVectCnt0=0x20|Timer0_Num;(4)
VICVectAddr0=(int)Timer0_ISR;
T0IR = 0x01;
VICIntEnable = (1<<Timer0_Num);
中断处理完成以后
void _irq Timer0_ISR(void)
{
{中断处理}
T0IR = 0x01; //清除中断标志(因该是状态寄存器)
VICVectAddr = 0x00;//清楚地址,因为下次要重新复制
}
外部中断寄存器。
快速中断和IRQ中断使能,通过CPSR中的I标志位和F标志位设置1来使能中断。
中断寄存器的使用:
中断寄存器包括中断选择寄存器VICIntSelect 中断使能寄存器VICIntEnable 中断禁能寄存器VICIntEnClr。
中断选择寄存器共32位,分别对应32通道对应的中断(通道0 WDT 通道4 Timer0)的选择 0时为IRQ 1时FIQ。中断使能寄存器,32位,写入1为使能,写入0无效。
例如使能Timer0中断 VICIntEnable=1<<Timer0_Num 因为写入0无效。
中断使能清零寄存器,写入1,禁止中断。
向量地址寄存器(VICCectAddr ),但发生IRQ后,CPU读取该寄存器并跳转到对应的地址,但是不能直接赋值,而是通过VIC
DefVectAddr或者VICVectAddr0~15中复制来的。
VICDefVectAddr用于分配非向量IRQ中断的地址。
向量地址寄存器0~15分别对应16个向量IRQ通道的响应地址。
向量控制寄存器0~15(VICVectCnt0~15)
重要知识点:中断通道号和IRQ通道的不同点
中断通道号(32个),例如Timer0等和向量IRQ通道0~15是不同的,通过VICVectCnt的设置0~4位,来分配IRQ中断通道,并设置其优先级。例如分配中断通道号为4的定时器,分配IRQ0通道0.
VICIntSelect = 0x00;
VICVectCnt0=0x20|Timer0_Num;(4)
VICVectAddr0=(int)Timer0_ISR;
T0IR = 0x01;
VICIntEnable = (1<<Timer0_Num);
中断处理完成以后
void _irq Timer0_ISR(void)
{
{中断处理}
T0IR = 0x01; //清除中断标志(因该是状态寄存器)
VICVectAddr = 0x00;//清楚地址,因为下次要重新复制
}
外部中断寄存器。
- ARM7中断向量控制器,学习体会
- ARM7内核寄存器、中断向量控制器
- ARM7学习笔记——中断向量控制器VIC
- ARM7中断向量重映射的问题
- LPC2478 向量中断控制器(VIC)
- S5PV210的向量中断控制器
- 内建的嵌套向量中断控制器
- STM32 嵌套向量中断控制器NVIC学习
- 嵌套的向量式中断控制器(NVIC)
- NVIC嵌套向量中断控制器--使用归纳
- ARM11---中断---向量中断控制器(VIC)---结合s3c6410
- ARM11---中断---向量中断控制器(VIC)---结合s3c6410
- ARM11---中断---向量中断控制器(VIC)---结合s3c6410
- 中断向量控制器和中断处理的主要寄存器2
- ARM7中断总结
- ARM7异常与中断
- LPC2000系列的向量中断控制器(VIC)
- LPC2114中向量中断控制器(VIC)的操作方法
- 全文搜索服务器solr之客户端 - solrj二次开发
- Elang
- 升级Turnkey Rails虚拟机到最新Rails版本
- SQL 日期格式转换
- 信号笔记
- ARM7中断向量控制器,学习体会
- 水晶报表格式化日期
- Google Music
- Linux基础知识总结(2): 文件的压缩与打包
- UC/OS 学习 任务的同步与通讯
- DIV文本自动换行
- UC/OS学习 任务管理
- 求关键路径(包含邻接表的建立、拓扑排序)
- c#excel导入datagridview