- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ARM开发步步深入之玩转中断
ARM开发步步深入之玩转中断实验目的:触发外部中断,控制LED灯的亮灭,借此掌握S3C2410中断处理操作。实验环境及说明:恒颐S3C2410开发板H2410。选择开发板上的外部中断EINT0(复用引脚GPF0)引脚作为本次中断的触发源,通过触发这个中断来控制LED灯的亮灭。实验思路:开发板上电启动后,自动将NandFlash开始的4K数据复制到SRAM中,然后跳转到0地址开始执行。然后设置系统及中断指针,初始化LED灯管脚和中断控制器,之后进入main函数死循环等待中断的发生,若EINT管脚电平发生变化则触发中断,调用中断处理函数点亮/熄灭LED灯。知识掌握:ARM处理器各种工作模式和S3C2410中断控制器一、ARM处理器各种工作模式:在这里只需要掌握系统模式和中断模式即可,详细的资料自己search一下。各种工作模式:用户模式(User,usr)正常程序执行的模式;系统模式(System,sys)用于运行特权级的操作系统任务;快速中断模式(FIQ,fiq)用于高速数据传输和通道处理;外部中断模式(IRQ,irq)用户通常的中断使用;特权模式(Supervisor,sve)供操作系统使用的一种保护模式;数据访问中止模式(Abort,abt)用于虚拟存储及存储保护;未定义指令中止模式(Undefin- ed,und)用于支持通过软件仿真硬件的协处理器。发生中断:ARM处理器对异常中断的响应过程是首先保存处理器当前状态、中断屏蔽位及CPSR寄存器中的各个条件标志位。这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。其次设置当前程序状态寄存器CPSR中相应的位。再次将寄存器LR_mode(R14_mode)设置成返回地址。最后将PC设置成该异常中断的中断向量地址,从而跳转到对应的中断处理程序处执行。中断返回:首先恢复被中断程序的处理器状态,也就是将SPSR_mode 内容复制到CPSR。然后返回到发生异常中断指令的下一条指令处执行,即将LR_mode(R14_mode)寄存器的内容复制到PC中。ARM各异常中断及对应含义:复位(Reset)当处理器复位引脚有效时,系统产生复位,程序跳转到复位异常中断处理程序处执行,复位异常中断的优先级是最高优先级的中断。通常复位产生有下面几种情况:系统加电时、系统复位时、各种不同的ARM处理器的复位有一些区别的,具体的参见后面的实例中的描述;未定义的指令(Undefined instruction)当ARM处理器或者系统中的协处理器认为当前指令未定义时,产生该中断,可以通过该异常中断仿真浮点向量运算;软件中断(Software Interrupt SWI)这是由用户定义的中断指令,可用于用户模式下的程序调用特权操作指令;数据访问中止(Data Abort)数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常中断;外部中断请求(IRQ)当处理器的外部中断请求引脚有效,或者CPSR寄存器的I控制位被清除时,处理器产生外部中断请求,应用中对于IRQ的中断处理是比较关键的技术;快速中断请求(FIQ)当处理器的外部中断请求引脚有效,或者CPSR寄存器的F控制位被清除时,处理器产生外部中断请求。二、S3C2410中断控制器CPU运行过程中得知外部发生不可预知事件的两种方法:查询方式---实现简单,但是占用资源过高;中断方式---实现相对复杂,但是效率高,是常用的方法。使用中断方式时又分为两大类:内部中断和外部中断。S3C2410提供了以下内部中断控制寄存器。●SUBSRCPND寄存器:它用来表示INT_RXD0、INT_TXD0等中断是否发生(注:这些中断是某一大类中断中的子类),每位对应一个中断。当这些中断发生并且没有被INTSUBMSK寄存器屏蔽,则它们中的若干位将汇集出现在SRCPND寄存器的某一位上。要清除中断,往此寄存器中某位写1。●INTSUBMSK寄存器:与SUBSRCPND寄存器对应,它用来屏蔽SUBSRCPND寄存器所标识的中断。INTSUBMSK寄存器中某位设置1时,对应的中断被屏蔽。●SRCPND寄存器:它每一位被用来表示一个/一类中断是否发生。要清除某一位,往此位写1,具体参考数据手册。●INTMSK寄存器:与SRCPND寄存器对应,用来屏蔽SRCPND寄存器所标识的中断。INTMSK寄存器中某位被设为1时,对应的中断被屏蔽,它只能屏蔽IRQ中断,不能屏蔽FIQ。●INTMOD寄存器:它某位被设为1时,对应的中断被设为FIQ。同一时间,INTMOD只能有一位被设为1。●PRIORITY寄存器:当有多个普通中断同时发生时,中断控制器选出最高优先级的中断,首先处理它。中
您可能关注的文档
- ARDS之肺复张操作.ppt
- Are interpersonal relationships more important than one’s practical ability to a successful career英语辩论及相关汉语资料.doc
- Argument提纲 For Print.doc
- Arista万兆高性能y以太网交换机.ppt
- ARM体系结构中实现步进电机的完全控制----毕业设计答辩演讲稿.ppt
- ARM嵌入式系统培训教学进程.doc
- ARM基本指令集与寻址介绍.ppt
- ARM课程设计——报时表及闹钟.doc
- ARX设备配置手册.docx
- ASON在现代电力通信中的应用.doc
原创力文档


文档评论(0)