stm32nvic固件库分析与应用0

stm32nvic固件库分析与应用0

ID:22885679

大小:937.12 KB

页数:57页

时间:2018-11-01

stm32nvic固件库分析与应用0_第1页
stm32nvic固件库分析与应用0_第2页
stm32nvic固件库分析与应用0_第3页
stm32nvic固件库分析与应用0_第4页
stm32nvic固件库分析与应用0_第5页
资源描述:

《stm32nvic固件库分析与应用0》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目录一、异常的种类2二、异常的优先级3三、NVIC异常处理41、异常的处理42、抢占的处理53、异常的返回5四、复位过程6五、中断和事件7(1)硬件中断选择8(2)硬件事件选择8(3)软件中断/事件选择8(4)外部屮断/事件线路映射8(5)相关的功能寄存器9六、NVIC库函数116.1函数NVIC.PriorityGroupConfig116.2雌NVICJnit126.3函数NVIC.Structlnit136.4函数NVIC.SctVcctorTablc136.5闲数NVIC_GenerateSystemReset146.6闲数NVlC

2、_GenerateCoreReset146.7闲数NVIC_SystemLPConfig15其他相关函数15七、程序设计161、滴答吋钟简单使川162、NV1C外部中断配置实验17八、设计总结19STM32NVIC固件库分析与应用Cortex-M3处理器和NVIC对所科优先级进行划分和处理。所有的异常处理均在Handle模式下进行。当出现异常吋,处理器的状态被Ei动保存到栈十;在屮断服务子程序结束之后,又会A动从栈中恢S处理器的状态。获収中断向S和状态保存是M吋进行的,这提高了进入中断处理的效率。COrtex-M3处理器支持尾链技术,即当发

3、生背靠背中断时,无耑保存和恢复状态,而是继续执行。Cortex-M3处理器的一下特性,提高了处理异常的效率并降低了吋间的延迟。>处理器状态的自动保存和恢S;>中断向量表读収勾处理器状态保存并行处理;>支持尾链技术,当处理背靠背的中断吋,不需要在2个终端服务子程序之间进行入栈和出栈操作;>可动态重设优先级;>NVIC和Cortcx-M3处理器和紧密耦合,可尽早处理中断,尤其是晚到的卨优先级中断;>中断的数目可以配置,卜240;>为Handle和Thread模式分别提供独立的栈和访问权限等级;>可屏蔽优先级以支持临界区。一、异常的种类Corte

4、x-M3处理器将复位、不可屝蔽中断、外部屮断、故障都统一为异常,异常有多种类型。故障足指指令执行吋巾于错误的条件所导致的异常。故障可分为同步故障和一•般故障,M步故障是指当指令产生错误时就M时报告错误,时异步故障则是指当指令产生错误时无法保证同时报告错误。下表列出了异常的类型、位置和优先级。位置是指中断向S在中断向fi表屮的位置,足相对于屮断限景表开始处字的偏移。优先级的值越小,优先级越岛。表1-1异常的类型异常类型偏移优先级描述■■■0■■复位吋,加载M量表屮第一项作为栈顶地址复位1-3屯源丌启可热复位时调用,在执行第-条指令时,优先级下

5、降i-d最后,枯步故陣不可屏蔽中断2-2除了复位,它不能被M:他任何屮断终土和抢占,异步故降硬故障3-1如災故障由丁•优先级或可配買的故障处理程序被禁止而不能激活时,此时所有这些故障均为硬故障,同步故障存储管理4可配置存储保护单元不匹配,包括不可访闷和不匹配,同步故障:也用于MPU不可用或不存在的情况,以支持默认存储映射的从不执行区域总线故障5可配置顶収错误,存储器访问错误,以及他地址/存储器相关的错误;当为精确地总线故陣吋是M步故障,不精确吋为异步故陣应用故障6可配置应用错误,如执行未定义的指令或试阁进行非法的状态装换,同步故障■7〜10

6、■保留SVCall11可配置使用SVC指令进行系统服务调用,同步故障调试监视异常12可配置调试监视异常,M步故陣,似只在允许吋冇效;如果它的优先级比当前激活的处理程序的优先级更低,则它不能激活■13■保衔PcndSV14可配置系统服务的可拌起清求,异步故障,只能由软件拌起SysTick15可配置用P系统嘀嗒定吋器,异步故降外部中断>16可配置由核外发出的中断,INTISR[239:0],传递给NVIC都为异步故障二、异常的优先级在处理器处理异常时,优先级决定了处理器何时以及如何进行异常处理。可以给屮断设a软件优先级以及对其进行分组。优先级N

7、VIC支持通过软件设置的优先级。通过写屮断优先级寄存器的PRI_N字段可以设置优先级,范围为0〜255。硬件优先级随着中断兮的増加而减小,优先级0为敁高优先级,255为最低优先级。通过软件设置的优先级权限高于硬件优先级。例如,如果设置IRQ[O]的优先级为丨,IRQ[31]的优先级为0,则IRQ[31]的优先级比IRQ[0]的高。但通过软件设置的优先级对位、不可屏蔽中断和硬件故障没有影响。当多个中断具有相M的优先级吋,拥有最小中断号的挂起中断优先执行。例如,IRQL0J和IRQ[1]的优先级都为1,则IRQ[0]优先执行。优先级分组为了更好

8、的对人撒的屮断进行优先级管理和控制,NVIC支持优先级分组。通过设定应用中断和S位中断控制寄存器的PRIGROUP字段,可以将?則_?4字段分成2个部分:抢占优先级和次要优先级,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。