- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 M3异常与中断 1) 中断异常概念 2)中断异常种类(清单) 3)异常优先级 4)中断异常向量表 在ARM 编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception)。 除了外部中断外,当有指令执行了“非法操作”,或者访问被禁的内存区间,因各种错误产生的fault,以及不可屏蔽中断发生时,都会打断程序的执行,这些情况统称为异常。在不严格的情况下,异常与中断也可以混用。 程序代码也可以主动请求进入异常状态的(常用于系统调用)。 1) 中断异常概念 2)中断异常种类(清单) CM3 的所有中断机制都由NVIC 实现,支持240 个外中断和16‐4‐1=11 个内部异常源。 NMI不可屏蔽内部异常源 CM3 还有一个NMI(不可屏蔽中断)输入脚。 当NMI被置为有效时,NMI 服务程序会无条件地执行,NMI 究竟被拿去做什么,还要视处理器的设计而定。 在多数情况下,NMI 会被连接到一个看门狗定时器,有时也会是电压监视功能块,以便在电压掉至危险级别后警告处理器。NMI 可以在任何时间被激活。 内核之外(外设)中断源 CM3 是支持240 个外中断,具体使用了多少个是由芯片生产商决定。 3) 异常优先级 CM3异常优先级会影响能否被响应、以及何时可以响应。 优先级的数值越小,则优先级越高。 CM3支持中断嵌套: 高优先级异常会抢占低优先级异常 后发生的同抢占级或更低优先级中断只能排队顺序执行 A与C同优先级,B低于C,中断发生顺序ABC B高于A,中断发生顺序A、B A() B() A() C() B() 有3 个系统异常:复位,NMI 以及硬fault,它们有固定的优先级,并且它们的优先级号是负数,从而高于所有其它异常。 其它异常的优先级则都是可编程的(但不能编程为负数)。 原则上,CM3 支持3 个固定的高优先级和多达256 级的可编程优先级,并且支持128级抢占,但是绝大多数CM3 芯片都会精简设计,以致实际上支持的优先级数会更少,如8 、16、32 级等 3bit表示8级抢占,5比特亚优先级 4bit表示16级抢占,4比特亚优先级 在两个同级抢占、亚级不同的异常 同时发生时,亚优先级高的优先得到响应 抢占位 亚优先级位 优先级的表示 4) 中断异常向量表 当异常一个发生,被CM3 内核接受,对应的异常handler(处理程序) 就会执行。为了决定handler(程序) 的入口地址,CM3 使用了“向量表机制”。这里使用一张向量表。 向量表其实是一个WORD(32 位整数)数组,每个下标对应一种异常,该下标元素的值则是该异常handler 的入口地址。 在复位后,该寄存器的值为0。因此,在地址0 处必须包含一张向量表,用于初始时的异常分配。 中断异常向量表 例: 如果发生了异常11(SVC),则NVIC 会计算出偏移移量是11x4=0x2C,然后从那里取出服务程序的入口地址并跳入。 0 号异常的功能则是个另类,它并不是什么入口地址,而是给出了复位后MSP 的初值。 8.2 M3中断行为与处理机制 1) 异常进入 2) 异常退出 1) 异常进入 M3响应中断的处理流程主要包括三步,即: (1)入栈保护现场、(2)取中断向量、(3)更新寄存器。 8-2-1 异常处理流程 PSR:更新IPSR位段(地处PSR的最低部分)的值为新响应的异常编号。 PC:在取向量完成后,PC将指向服务例程的入口地址, LR:在 (出/入) ISR的时候,LR的值将得到重新的诠释,这种特殊的值称为“EXC_RETURN”,在异常进入时由系统计算并赋给LR,并在异常返回时使用它。 (3)更新寄存器 入栈和取向量操作完成之后,在执行服务程序之前,还必须更新一系列寄存器。 SP:在入栈后会把堆栈指针(PSP或MSP)更新到新的位置。在执行服务例程时,将由MSP负责对堆栈的访问。 1)入栈保护现场 (2)取中断向量 2) 异常退出 异常服务程序最后一条指令: 将进入异常时的LR的值加载到PC中, 该操作指示中断服务结束, 没有中断嵌套情况下,启动了中断返回序列 中断返回序列(硬件自动完成): 出栈 更新NVIC寄存器 异常返回 异常返回值:存放在LR中 EXC_RETURN的值有三种情况: 0xFFFF_FFF1:返回处理器模式(特权模式); 0xFFFF_FFF9:返回线程模式,并使用主堆栈; 0xFFFF_FFFD:返回线程模式,并使用线程堆栈。 01 IRQx_Handler 02 …… ;异常服务程序 03
您可能关注的文档
- 08二次函数的最值学生.pdf
- suc创客教育1-创客与创客运动.pptx
- 资讯网网站管理系统性能测试报告v1 1.pdf
- 附件驱动- tdv6 3 0升柴油机-混合动力汽车-附件驱动.pdf
- 安迎新课标之人文地理4工业地域.pdf
- 锐捷-工程实验室无线网络94.pdf
- 立普妥飞行竞速四0821.pptx
- 内容文稿参考敏感度分析.pdf
- 配套课件内容索引.ppt
- 中学教师资格证考前理论培训.ppt
- 杂类第九章价格策略.ppt
- 第11课课件及测试题第12课一维数组.pptx
- wm_removed_9-2z202000 1建设工程施工许可制度.pdf
- 2010北京现代ix35lmc g 2 0 dohc原厂维修手册暖风及空调29.pdf
- 凯越维修手册11 1音响娱乐系统.pdf
- 第06讲地下水的类型与特征与常见工程地址问题及其处理方法一.pdf
- yikm_k02_方法论_知识管理域_行业知识库_农林行业_营运规范_nc-erp采购业务操作手册.pdf
- 2012年北京现代悦动hdcg 1 8 dohc原厂维修手册车身电气系统57.pdf
- 全国第三十五次qc小组代表会议成果汇编序.pdf
- sjth201622财务审批及授权制度.pdf
最近下载
- 具身智能机器人操作系统与应用技术.pdf VIP
- 具身机器人行业市场前景及投资研究报告:具身智能大脑,人形机器人发展.pdf VIP
- 半导体外延工艺技术发展趋势.pptx VIP
- 离散制造数字化智能工厂解决方案.pdf VIP
- 2025年度华医网继续教育答案-常见心血管疾病的中西医结合诊疗策略.docx VIP
- GB∕T 1355-2021 小麦粉 GB∕T 1355-2021 小麦粉.pdf
- 欧洲人的标准 EN10088-1-2005-Eng.pdf VIP
- Panasonic XQG70-E70XS E70GS E70GWwashing machine Manual说明书用户手册.pdf
- 函数的定义与函数的性质.pptx VIP
- 人工智能行业市场前景及投资研究报告:养老机器人,AI养老.pdf VIP
文档评论(0)