异常类型及编号
Cortex-M0的每个异常源都有一个单独的编号:
1~15内部系统异常:Reset(1), NMI(2), H/W Error(3), SVC(11), PndSV(14), SysTick(15)其他编号未用;
16~47外部中断: IRQ#0~IRQ#31.异常优先级 (Cortex-M0 支持7个)
1). Cortex-M0 支持3个固定的最高优先级(Reset(-3), NMI(-2), H/W Error(-1))和4个可编程优先级;
2). 可编程寄存器有8bit宽,但只有Bit7和Bit6可配置,其余Bits为0. (优先级由高到低:0x00,0x40,0x80,0xC0);
3). 如果两个同时发生的异常的优先级相同,则先执行异常编号小的。(IRQ#0,IRQ#1 则先执行IRQ#0)向量表(异常处理所需的起始地址信息)
异常向量的地址为异常编号乘以4(Reset向量的地址为:1*4=0x00000004),其他向量地址如下图所示:
EXC_RETURN(32Bits)
该值用于异常返回机制,下图是其位域的含义:
学习笔记——ARM Cortex-M0 异常与中断
最新推荐文章于 2025-03-04 15:06:40 发布