微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 《Cortex-M0权威指南》之体系结构---异常和中断

《Cortex-M0权威指南》之体系结构---异常和中断

时间:12-29 来源:互联网 点击:

异常会引起程序控制的变化。在异常发生时,处理器停止当前的任务,转而执行异常处理程序,异常处理完成后,会继续执行刚才的任务。异常分为很多种,中断是其中之一。Cortex-M0处理器最多支持32个外部中断(IRQ)和一个不可屏蔽中断(NMI),中断事件的处理叫做中断服务程序(ISR),中断一般由片上的IO口的外部输入产生(边沿触发和电平触发)。

Cortex-M0处理器上可用的中断数量不确定,由厂商决定,最多32个外部中断。如果系统的外设很多,由于中断数目有限,多个中断源可能使用同一个中断连接。

除了IRQ和NMI,M0处理系还支持很多系统异常,它们主要用于操作系统和错误处理。

异常类型      异常编号       描述

Reset         1         上电复位或系统复位

NMI            2         不可屏蔽中断

Hard fault        3         用于错误处理,系统检测到错误后被激活

SVCall         11         请求管理调用,在执行SVC指令被激活,主要用作操作系统

PendSV         14         可挂起服务(系统)调用

SysTick         15         系统节拍定时器异常,一般在OS种用作周期系统节拍异常

IRQ0-IRQ31       16-47       中断,可来自于外部,也可来自片上外设

每一个异常都对应一个异常编号,这在包括IPSR在内的许多寄存器种都有提现,而且这个异常编号还指明了异常向量的地址。在设备驱动库种,异常编号和中断编号是相互独立的。系统异常使用负数定义,中断使用0-31正数定义。

复位是一种特殊的异常,数值为1,在IPSR中不可见。

除了NMI,硬件错误和复位,其他所有异常的优先级都是可编程的,NMI和硬件错误的优先级是固定的,并且比其他异常的优先级高。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top