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


    转载请注明来源:cuixiaolei的技术博客


       异常会引起程序控制的变化。在异常发生时,处理器停止当前的任务,转而执行异常处理程序,异常处理完成后,会继续执行刚才的任务。异常分为很多种,中断是其中之一。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和硬件错误的优先级是固定的,并且比其他异常的优先级高。

  • 相关阅读:
    SignalR客户端和服务端编写,winfrom端
    SQL 发送邮件msdb.dbo.sp_send_dbmail
    Stimulsoft打印内容横向,变成竖向,解决方法
    Chrome浏览器所有页面崩溃
    SQL存储过程直接传表
    c#SignalR一次发送最大数据量
    c#USB扫描枪,防止输入框手动输入
    SQLPrompt_9.5.5.9830破解版含注册机_永久激活不掉线
    SQL快捷键设置
    USB HDI 通信
  • 原文地址:https://www.cnblogs.com/xiaolei-kaiyuan/p/6061994.html
Copyright © 2020-2023  润新知