- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 异常7.1 异常类型Cortex-M3在内核水平上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。编号为1-15的对应系统异常,大于等于16的(最多可达240个)则全是外部中断。中断:请求信号来自CM3内核的外面,来自各种片上外设和外扩的外设,对CM3来说是“异步”的;异常:因CM3 内核的活动产生的——在执行指令或访问存储器时产生,因此对CM3来说是“同步”的。7.1 异常类型——内部异常编号 类型 优先级 简介 0 N/A N/A 没有异常在运行 1 复位 -3(最高) 复位 2 NMI -2 不可屏蔽中断(来自外部 NMI 输入脚) 3 硬(hard)fault -1 所有被除能的 fault,都将“上访”(escalation)成硬 fault。只要 FAULTMASK 没有置位,硬 fault 服务例程就被强制执行。Fault 被除能的原因包括被禁用,或者被 PRIMASK/BASEPRI 被掩蔽。若 FAULTMASK 也置位,则硬 fault 也被除能,此时彻底“关中” 4 MemManage fault 可编程 存储器管理 fault,MPU 访问违例以及访问非法位置均可引发。企图在“非执行区”取指也会引发此 fault 5 总线 fault 可编程 从总线系统收到了错误响应,原因可以是预取流产(Abort)或数据流产,企图访问协处理器也会引发此 fault 6 用法(usage) 可编程 由于程序错误导致的异常。通常是使用了一条无效指令,或者是?Fault ?非法的状态转换,例如尝试切换到 ARM 状态 保留 N/A N/A 11 SVCall 可编程 执行系统服务调用指令(SVC)引发的异常 12 调试监视器 可编程 调试监视器(断点,数据观察点,或者是外部调试请求) 13 保留 N/A N/A 14 PendSV 可编程 为系统设备而设的“可悬挂请求”(pendable request) 15 SysTick 可编程 系统滴答定时器(也就是周期性溢出的时基定时器——译注) 7.1 异常类型外部中断编号 类型 优先级 简介 16 IRQ #0 可编程 外中断#0 17 IRQ #1 可编程 外中断#1 … … … … 255 IRQ #239 可编程 外中断#239 7.1 异常类型除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。如果一个发生的异常不能被即刻响应,就称它被“悬起”(pending)。异常被悬起的原因,可能是系统当前正在执行一个更高优先级异常的服务例程,或者因相关掩蔽位的设置导致该异常被除能。对于每个异常源,在被悬起的情况下,都会有一个对应的“悬起状态寄存器”保存其异常请求,待到该异常能够响应时,执行其服务例程。7.2 优先级的定义优先级的数值越小,则优先级越高。CM3支持中断嵌套,使得高优先级异常会抢占(preempt)低优先级异常。有3个系统异常:复位,NMI以及硬fault,它们有固定的优先级,并且它们的优先级号是负数,从而高于所有其它异常。所有其它异常的优先级则都是可编程的,但实际上支持的优先级数会更少,如8级,16级,32级等。7.2 优先级的定义 举例1:如果只使用了3个位来表达优先级,则优先级配置寄存器的结构会如图所示,能够使用8个优先级,分别为:0x00(最高),0x20,0x40,0x60,0x80,0xA0,0xC0以及0xE0。CM3允许的最少使用位数为3个位,亦即至少要支持8级优先级。举例2:使用3个位表达优先级与使用4个位表达优先级的对比图7.2 优先级的定义抢占优先级与子优先级:为了使抢占机能变得更可控,CM3还把256级优先级按位分成高低两段,分别称为抢占优先级和子优先级。抢占优先级决定了抢占行为:当系统正在响应某异常L时,如果来了抢占优先级更高的异常H,则H可以抢占L。子优先级则处理“内务”:当抢占优先级相同的异常有不止一个悬起时,就最先响应子优先级最高的异常。 7.2 优先级的定义举例:如果只使用3个位来表达优先级([7:5]),并且优先级组的值是5(从比特5处分组),则得到4级抢占优先级,且在每个抢占优先级的内部有2个子优先级。7.2 优先级的定义7.2 优先级的定义子优先级至少是1个位,抢占优先级最多是7个位(最多只有128级抢占的现象)。在计算抢占优先级和子优先级的有效位数时,必须先求出下列值:芯片实际使用了多少位来表达优先级;优先级组是如何划分的。如果优先级完全相同的多个异常同时悬起,则先响应异常编号最小的那一个。7.3 向量表 当发生了异常并且要响应它时,CM3需要定位其服务例程的入口地址。这些入口地址存储在所谓的“(异常)向量表”中。缺省情况下,CM3认为该表位于零地址处,且各向量占用4字节。地址 异常编号 值(32位
您可能关注的文档
- 第6章 面向对象方法学与UML.pptx
- 第6章 风险测度理论.ppt
- 第6章 键连接和销连接.ppt
- 第6章 键 花键 销 型面连接.ppt
- 第6章 工资、价格与失业(第十版).pptx
- 第6章+第1节+S3C44B0X处理器介绍.ppt
- 第6章-分支限界v1.0.pptx
- 第6章-2( 遍历二叉树).ppt
- 第6章-存款货币银行 课件.ppt
- 第6章 效果图的光效与色彩.ppt
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
最近下载
- 建筑工程图集 16J914-1:公用建筑卫生间.pdf VIP
- 90后婚礼邀请函 婚礼邀请函制作软件.doc VIP
- 2025年初中升高中英语衔接测试试卷(Word版,含答案).docx VIP
- 2025重大事故隐患判定标准解读(可编辑课件).pptx VIP
- 起重机地面操作安全培训.pptx
- 《造纸行业绿色工厂评价规范》团体标准 征求意见稿.pdf VIP
- XX市XX医院无痛医院建设方案55.docx VIP
- 水源井及配套设施项目(含地下水专项评价)环评环境影响报告表(新版环评).doc VIP
- 译林版八年级英语上册一二单元检测.pdf VIP
- 16bj7-1楼梯平台栏杆及扶手.pdf VIP
文档评论(0)