欢迎来到天天文库
浏览记录
ID:50348777
大小:69.00 KB
页数:11页
时间:2020-03-08
《嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验五 IRQ中断处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验五IRQ中断处理1提纲实验目的实验原理实验内容习题与思考题实验目的学习编写中断处理程序程序介绍本章结合第二章的计时器中断和第三章的HZ时钟触发中断进行讲解,重点讲述ARM的中断处理机制。由于前两章例子的中断事件并未引入中断处理,实质是通过轮询寄存器ICPR来判断是否需要进行处理,然而,本章则是将是利用IRQ中断处理来实现以上两个中断。读者下载程序后,按下目标板上键5来启动程序执行,按下键6中止程序运行。中断向量表当异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。处理器能够准确无误地响应中断,是因为ARM体系结构里有一个中断向量表,该中
2、断向量表将系统能够响应的7种异常中断类型的“入口地址”登记在一块连续的字节空间内,每种异常中断的“入口地址”占据4个字节,这里“入口地址”实质是一些跳转指令或者是让PC指针赋值的指令,通常使用B或ldr指令。IRQ和FIQ中断开关系统复位后,IRQ和FIQ中断都是被禁止的,所以即使建立了中断向量表,当有中断请求也是不会响应的,因此在系统复位后,必须通过程序控制来打开IRQ和FIQ中断。IRQ和FIQ的控制位分别是当前程序状态寄存器CPSR的第7和第6位,对这两个控制位的修改是不能直接地通过对CPSR进行操作,而是首先通过读取CPSR到通用寄存器中,然后修改,再写入到
3、CPSR里。中断控制器操作流程中断控制寄存器InterruptControllerMaskregister(ICMR)InterruptControllerPendingregister(ICPR)InterruptControllerLevelregister(ICLR)InterruptControllerIRQPendingregister(ICIP)InterruptControllerFIQPendingregister(ICFP)InterruptControllerControlregister(ICCR)实验内容代码分析将ELF文件转化BIN格式的文
4、件通过JTAG下载BIN格式的目标程序观察代码运行情况习题与思考题ARM体系结构中有多少种异常中断,它们分别是在什么情况下发生,并且它们是如何被组织的。查看ARM体系结构的资料,结合本章例子程序,完善中断向量表,为软中断和数据访问中止异常中断编写服务例程,并在程序中适当加入语句令程序产生这两种中断。结合下图,简要阐述中断控制器的工作原理,并分析当以下情况发生时,各状态寄存器(ICPR,ICIP,ICFP)的数值以及中断如何被响应。A.ICMR=1;ICLR=0;B.ICMR=1;ICLR=1;C.ICMR=0;ICLR=1;以上设置寄存器的方式仅表示在寄存器中对应中
5、断源的那一位被设置1或0;
此文档下载收益归作者所有