- 8
- 0
- 约 43页
- 2017-08-20 发布于浙江
- 举报
NVIC与中断控制的
NVIC与中断控制;NVIC 概览;NVIC 共支持1 至240 个外部中断输入(通常外部中断写作IRQs)。具体的数值由芯片厂商在设计芯片时决定。此外,NVIC 还支持一个“永垂不朽”的不可屏蔽中断(NMI)输入。NMI 的实际功能亦由芯片制造商决定。在某些情况下,NMI 无法由外部中断源控制。;NVIC 的访问地址是0xE000_E000。所有NVIC 的中断控制/状态寄存器都只能在特权级下访问。不过有一个例外——软件触发中断寄存器可以在用户级下访问以产生软件中断。所有的中断控制/状态寄存器均可按字/半字/字节的方式访问。此外,有几个中断屏蔽寄存器也与中断控制密切相关,它们是第三章中讲到的“特殊功能寄存器”,只能通过MRS/MSR及CPS 来访问。;中断配置基础;另外,下列寄存器也对中断处理有重大影响
?? 异常掩蔽寄存器(PRIMASK, FAULTMASK 以及BASEPRI)
?? 向量表偏移量寄存器
?? 软件触发中断寄存器
?? 优先级分组位段;中断的使能与除能;如上所述,SETENA 位和CLRENA 位可以有240 对,对应的32 位寄存器可以有8 对,因此使用数字后缀来区分这些寄存器,如SETENA0, SETENA1…SETENA7,如表8.1 所示。但是在特定的芯片中,只有该芯片实现的中断,其对应的位才有意义。因此,如果你使用的芯片支持32 个中断,则只有SETENA0/CLRENA0 才需要使用。SETENA/CLRENA 可以按字/半字/字节的方式来访问。又因为前16 个异常已经分配给系统异常,故而中断0 的异常号是16,(回顾第7 章中的表7.2);SETENAs: xE000_E100 – 0xE000_E11C ; CLRENAs:0xE000E180 - 0xE000_E19C;中断的悬起与解悬;悬起寄存器和“解悬”寄存器也可以有8 对,其用法和用量都与前面介绍的使能/除能寄存器完全相同,见表8.2。;优先级;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.;活动状态;Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.;PRIMASK 与FAULTMASK 特殊功能寄存器;此外,还可以通过CPS指令快速完成上述功能:
CPSID i ;关中断
CPSIE i ;开中断
FAULTMASK更绝,它把当前优先级改为‐1。这么一来,连硬fault都被掩蔽了。使用方案与PRIMASK的相似。但要注意的是,FAULTMASK会在异常退出时自动清零。;掩蔽寄存器虽然能一手遮天,却都动不了NMI,因为NMI是用在最危急的情况下的。因此系统为它开出单行道,无需挂号只是不要迟到。当NMI激活时,“谁都是省略号,唯独是你不得了,第一优先谁比你重要”!试想,如果NMI被连接到系统的掉电报警线上,且系统是体外循环机的电源管理器……如果因为中断被除能就视而不见,则会使体外循环机因断电而失能,体外循环序列可以被意外终止,病人的生命也将丢失。;BASEPRI寄存器;例如,如果你需要掩蔽所有优先级不高于0x60的中断,则可以如下编程:
MOV R0, #0x60
MSR BASEPRI, R0
如果需要取消BASEPRI 对中断的掩蔽,则示例代码如下:
MOV R0, #0
MSR BASEPRI, R0;另外,你还可以使用BASEPRI_MAX这个名字来访问BASEPRI寄存器,它俩其实是同一个寄存器。但是当你使用这个名字时,会使用一个条件写操作。个中原因如下:尽管它俩在硬件水平上是同一个寄存器,但是生成的机器码不一样,从而硬件的行为也不同:使用BASEPRI时,可以任意设置新的优先级阈值;但是使用BASEPRI_MAX时则“许进不许出”——只允许新的优先级阈值比原来的那个在数值上更小,也就是说,只能一次次地扩大掩蔽范围,反之则不行。;举例来说,检视下面的程序片断:
MOV R0, #0x60
MSR BASEPRI_MAX, R0 ;掩蔽优先级不高于0x60 的中断
MOV R0, #0xf0
MSR BASEPRI_MAX, R0 ;本次设置被忽略,因为0xf0 比 ;0x60 的优先级低
MOV R0, #0x40
MSR BASEPRI_MAX, R0 ;Ok。扩大掩蔽范围到优先级不 ;高于0x40 的中断
您可能关注的文档
最近下载
- 2023-2024学年新疆乌鲁木齐市第一中学七年级上学期期末考试英语试卷 含答案.docx VIP
- 2025年辽宁职业学院单招(语文)测试题库新版.docx VIP
- 金属技术监督管理标准.pdf VIP
- 主变培训精品.pptx VIP
- 2025年学校培训初中地理新课标学习解读.pptx VIP
- 市中级人民法院党组2025年度民主生活会对照检查材料(五个带头).docx VIP
- 部编三上道德与法治期末复习填空选择 小学道德与法治试卷.pdf
- 广东省广州市越秀区2023-2024学年五年级上学期期末英语试题.docx VIP
- 2026年海南财金银河私募基金管理有限公司招聘备考题库参考答案详解.docx VIP
- 2020山东青岛中考《英语》试卷+答案+解析.docx VIP
原创力文档

文档评论(0)