学习笔记——ARM Cortex-M0 异常与中断

本文介绍了ARM Cortex-M0处理器的异常和中断处理,包括异常类型与编号、优先级设置、向量表、EXC_RETURN寄存器、异常流程以及三种异常机制:单异常、末尾连锁和延迟到达。通过详细解析,帮助读者深入理解Cortex-M0的中断响应和管理机制。
摘要由CSDN通过智能技术生成
  1. 异常类型及编号
    Cortex-M0的每个异常源都有一个单独的编号:
    1~15内部系统异常:Reset(1), NMI(2), H/W Error(3), SVC(11), PndSV(14), SysTick(15)其他编号未用;
    16~47外部中断: IRQ#0~IRQ#31.

  2. 异常优先级 (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)

  3. 向量表(异常处理所需的起始地址信息)
    异常向量的地址为异常编号乘以4(Reset向量的地址为:1*4=0x00000004),其他向量地址如下图所示:
    这里写图片描述

  4. EXC_RETURN(32Bits)
    该值用于异常返回机制,下图是其位域的含义:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值