- 1、本文档共94页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四节arm存储跟异常中断处理
* * * * 身无彩凤双飞翼,心有灵犀一点通 5 中断的响应和处理流程 中断的响应 0x18 是中断异常发生后的跳转入口 中断响应时,应该明确具体的中断源,以便针对处理 中断响应的处理流程 根据中断 Pending 寄存器的标志,确定中断源 及时清除中断 Pending 寄存器的标志位,否则 会发生中断返回后立即又被中断,重复不断的响应 会丢失中断处理过程中发生的中断,返回后不响应 进行相应中断处理,一般是读写数据 * * 参考资料: 嵌入式系统基础教程,第2章 俞建新 王健 宋健建编著 机械工业出版社 * * CP15即所谓的系统控制协处理器(System Control Coprocessor)。在基于ARM的嵌入式系统中,诸如Cache配置、写缓存配置之类的存储系统管理工作由协处理器CP15完成。在一些没有标准存储管理的系统中,CP15是不存在的。在这种情况下,针对协处理器CP15的操作指令将被视为未定义指令。 * ARM处理器的MMU部件主要完成以下工作: ◇虚拟存储空间到物理存储空间的映射。ARM采用了页式虚拟存储器管理。页的大小有两种:粗粒度和细粒度;换言之有粗页和细页二种之分。 ◇存储器访问权限的控制。 ◇设置虚拟存储空间的缓冲特性 * 保护单元(PU,Protection Unit)提供了一个相当简单的替代MMU的方法来管理存储器。对于不需要MMU的嵌入式系统而言,PU简化了硬件和软件,主要表现在不使用转换表,这样免去了硬件遍历转换表和软件建立与维护转换表。包含Cache的PU操作流程示意图在图4-17中示出。当然,PU的简化处理是有代价的。如果使用PU,则通过MMU获得的高精度存储管理将丧失殆尽。 * 参看沈建华译的图书《ARM嵌入式系统开发》第13章 * S3C44B0X处理器的写缓存区由4个写缓存寄存器构成。每一个写缓存寄存器包括一个32位数据字段,一个28位地址字段和一个2位状态字段。可以通过指令使能或者禁能写缓存器。图4-21给出了写缓存区的结构示意图。 左边的[27:0]地址字段指示写数据的地址;右边的[31:0]数据字段值是将要被写入外部存储器的数据。MAS[1:0]是Memory Access Size信号。用于指示存储系统在读和写周期所要求的数据传送的大小(字节、半字和字)。MAS取值00=8位模式,01=16位模式,10=32位模式,11=保留值。 * * * 注意:“MOVS PC,R14_svc”是指在管理模式执行MOVS PC,R14指令。“MOVS PC,R14_und”、“SUBS PC,R14_abt,#4”等指令也是类似的。 * * * * * * * * * * * * * * * * * * * 当发生数据中止后,根据产生数据中止的指令类型作出不同的处理: 异常 中止——数据中止 数据转移指令(LDR、STR)回写到被修改的基址寄存器。中止处理程序必须注意这一点; 交换指令(SWP)中止好像没有被执行过一样(中止必须发生在SWP指令进行读访问时) ; 块数据转移指令(LDM,STM)完成。 当回写被设置时,基址寄存器被更新。在指示出现中止后,ARM内核防止所有寄存器被覆盖。这意味着ARM内核总是会保护被中止的LDM指令中的R15(总是最后一个被转移的寄存器)。 异常 中止——数据中止 当发生数据中止后,根据产生数据中止的指令类型作出不同的处理: 在修复产生中止的原因后,不管处于哪种处理器操作状态,处理程序都必须执行下面的返回指令 : SUBS PC,R14_abt,#8 异常 中止——数据中止 使用软件中断(SWI)指令可以进入管理模式,通常用于请求一个特定的管理函数。SWI处理程序通过执行下面的指令返回: MOVS PC,R14_svc 这个动作恢复了PC和CPSR并返回到SWI之后的指令。SWI处理程序读取操作码以提取SWI函数编号。 异常 软件中断指令 当ARM处理器遇到一条自己和系统内任何协处理器都无法处理的指令时,ARM内核执行未定义指令陷阱。软件可使用这一机制通过模拟未定义的协处理器指令来扩展ARM指令集。 注:ARM处理器完全遵循ARM结构v4T,可以捕获所有分类未被定义的指令位格式。 异常 未定义的指令 在模拟处理了失败的指令后,陷阱程序执行下面的指令: MOVS PC,R14_svc 这个动作恢复了PC和CPSR并返回到未定义指令之后的指令。 异常 未定义的指令 异常向量 地址 异常类型 进入时的模式 进入时I的状态 进入时F的状态 0复位 管理
您可能关注的文档
- vmware虚拟化最佳实践跟规划.ppt
- vmware虚拟机mscs-sql_server群集安装.docx
- vmware虚拟机安装macosxmountainlion1082.docx
- vmware虚拟机的安装跟使用.ppt
- vmware虚拟架构解決方法.ppt
- vm虚拟机安装跟其系统安装教本.doc
- vm虚拟机技术.ppt
- vray材质教本.doc
- vrf空调.ppt
- vrp全系列vrp故障处理手册路由器02-第2节arp协.doc
- 2010-2023历年陕西省渭南市高新中学高一上学期期中考试历史试卷.docx
- 2010-2023历年陕西省澄城县寺前中学高三第一次月考地理试卷(带解析).docx
- 2010-2023历年陕西省窑店中学八年级上学期期末考试英语试卷(带解析).docx
- 2010-2023历年陕西省澄城县王庄中学0910高一下学期第三次月考(英语).docx
- 2010-2023历年陕西省澄城县寺前中学高三第一次月考英语试卷.docx
- IDEC和泉FT2J Instruction Sheet说明书用户手册.pdf
- 2010-2023历年陕西省渭南市希望高级中学高二下学期期末考试生物卷(带解析).docx
- 2010-2023历年陕西省渭南市临渭区高一第二学期期末考试生物试题.docx
- 2010-2023历年陕西省浦城县孝通初中八年级期中模拟物理卷.docx
- 2010-2023历年陕西省泾阳县中片七校九年级上学期期中联考英语试卷(带解析).docx
文档评论(0)