0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM中的异常中断是如何实现进入中断程序的?如何进入呢?

工程师邓生 来源:未知 作者:刘芹 2023-10-19 16:36 次阅读

ARM中的异常中断是如何实现进入中断程序的?如何进入呢?

在计算机系统中,异常和中断是两个常见的概念。 在ARM中,异常和中断的主要目的是帮助处理器响应与系统操作相关的事件。 由于处理器必须同时执行多个任务,例如输入/输出(I / O)操作或计时器计数,因此异常和中断是必不可少的。

ARM异常和中断是在ARM内核中实现的,即在芯片上的处理器内部。当处理器执行特定的任务时,根据相应的事件,就会发生异常或中断。

ARM的异常和中断模块由多个不同的组件组成。 这些组件包括处理器模式,管理寄存器和中断控制器等。 然后,处理器根据模式来响应异常和中断请求,并执行特定的处理过程。

在ARM体系结构中,处理器模式是ARM处理器的一种状态。 处理器模式有七种不同的类型:用户模式,FIQ(快速中断请求)模式,IRQ(普通中断请求)模式,监管模式,异常处理程序模式,中止处理程序模式和无效模式。 每个模式都定义了处理器在执行任务时可以访问的寄存器和内存空间等。其中,异常处理程序模式是由ARM处理器用来响应异常事件和中断请求的模式。

当ARM处理器通过异常或中断请求进入异常处理程序模式时,它会从当前用户模式切换到异常处理模式。处理器会将当前CPU状态(如程序计数器,标志寄存器等)保存到内部寄存器中,然后加载处理器模式下的堆栈指针。 接下来,处理器将跳转到指定的异常处理程序来处理异常或中断请求。

在ARM中,中断被分为两类:快速中断请求(FIQ)和普通中断请求(IRQ)。 FIQ是ARM中处理时间敏感任务的快速中断码,可以提供更高的抢占优先级和更快的响应时间。所以,如果有FIQ请求,处理器会首先进入FIQ模式处理中断请求。IRQ被认为是标准中断请求,如果没有FIQ请求,当出现IRQ请求时,ARM处理器便会进入中断模式。

在ARM中,中断请求是通过中断控制器发送的。中断控制器位于ARM处理器芯片中,可以将中断请求通过对应的GPIO端口发送到ARM处理器中。 中断控制器还会将相应的中断优先级和中断信息发送到ARM处理器,以便ARM处理器能够进入恰当的模式处理中断请求。

总结一下,ARM的异常和中断机制提供了一种响应系统事件的方式。从硬件角度来看,ARM处理器通过处理器模式,管理寄存器和中断控制器等多个组件来处理异常和中断请求。当ARM处理器进入异常处理程序模式时,它从当前模式切换到处理器模式,并依据中断类型切换到FIQ模式或IRQ模式。此过程中,中断控制器会发送中断请求并提供相应的优先级和信息。所有这些组成了ARM中异常和中断机制的核心。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • arm
    arm
    +关注

    关注

    131

    文章

    8125

    浏览量

    359123
  • 寄存器
    +关注

    关注

    30

    文章

    4549

    浏览量

    116219
  • 异常中断
    +关注

    关注

    0

    文章

    7

    浏览量

    1149
收藏 人收藏

    评论

    相关推荐

    ARM处理器SWI异常中断处理程序实现

    异常中断处理函数分为两级,第一级的SWI处理函数用于从SWI指令中提取24位的立即数即中断号,通第一级函数通过汇编语言、内嵌汇编来完成。第二级SWI异常中断处理程序实现各个SWI的具体功能,第二级
    发表于 01-10 15:09

    请问程序是如何进入中断函数的

    中断发生的时候,程序何进入中断函数?比如,串口接收中断void USART1_IRQHandler(void) ,当发生接收中断的时候,程序怎么知道这个函数就是中断函数?
    发表于 06-04 07:56

    ARM异常中断处理流程分析

    程序将跳转到相应的异常中断处理程序处执行。当几个异常中断同时发生时,就必须按照一定的次序来处理这些异常中断。在ARM通过给异常中断赋予一定的优先级来实现这种处理次序。当然有异常中断是不可能
    发表于 08-28 08:09

    教你一种ARM处理异常中断的方法

    异常中断的子程序异常源分类要进入异常模式,一定要有异常源,ARM规定有7种异常源:reset复位异常当CPU刚上电时或按下reset重启键之后进入
    发表于 08-18 15:26

    ARM体系异常中断及其应用

    ARM体系异常中断及其应用
    发表于 09-22 16:51 4次下载
    <b>ARM</b>体系<b>中</b>的<b>异常中断</b>及其应用

    ARM微处理器编程模型之异常中断处理分析

    异常中断处理 异常中断是用户程序中最基本的一种执行流程和形态。这部分主要对ARM架构下的异常中断做详细说明。 ARM有7种类型的异常,按优先级从高到低的排列如下:复位异常(Reset
    发表于 10-18 13:29 1次下载

    Thumb指令集之异常中断产生指令解析

    异常中断产生指令(断点指令) Thumb异常中断产生指令与ARM指令集下的异常中断指令十分相似。同ARM指令集相同,Thumb指令集中同样包含两条异常中断产生指令:软件中断指令SWI用于
    发表于 10-19 09:32 0次下载
    Thumb指令集之<b>异常中断</b>产生指令解析

    ZedBoard之中断原理及过程详解

    异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下一条指令处继续执行。在进入异常中断处理程序时,要保存被中断程序的执行线程。从
    发表于 12-16 08:57 4231次阅读

    ARM S3C4510B系统的异常中断机制解析

    异常中断 机制,包括异常中断的分类,响应与返回;中断处理程序的安装与调用;SWI,IRQ中断的实例与关键代码。随着人们对于电子产品的要求越来越高,以
    发表于 02-03 05:32 1441次阅读
    <b>ARM</b> S3C4510B系统的<b>异常中断</b>机制解析

    ARM异常中断的集中情况进行总结,并给出了一些解决方法

    ARM单片机是大多数新手选择的入门切入点,但由于知识的不足,在设计过程中新手们经常会遇到这样或那样的问题,ARM异常中断返回就是这样一种令人头疼的问题。在ARM的使用问题中异常中断返回是新手们较为苦恼的问题,本文就将对ARM异常中断的集中情况进行总结,并给出了一
    的头像 发表于 02-08 09:29 6006次阅读
    对<b>ARM</b><b>异常中断</b>的集中情况进行总结,并给出了一些解决方法

    ARM异常中断问题详情分析总结

    ARM异常中断的类型问题分析总结 一、ARM异常中断的类型: 异常中断名称 含义 复位(Reset) 当处理器复位引脚有效时,系统产生复位异常中断程序跳转到复位异常中断处理程序处执行。复位
    发表于 04-05 10:51 1046次阅读

    ARM异常中断的原因及处理措施

    ARM异常中断发生时,系统执行完当前指令后,将跳转到相应的异常中断处理程序处执行。当异常中断处理程序执行完成后,程序返回到发生中断指令的下条指令处执 行。在进入异常中断处理程序时,要保存被
    的头像 发表于 06-17 10:05 6546次阅读

    ARM异常中断发生时的处理措施

    中断请求(IRQ) 当处理器的外部中断请求引脚有效,而且CPSR的寄存器的I控制位被清除时,处理器产生外部中断请求异常中断。系统个外设通过该异常中断请求处理服务。
    的头像 发表于 08-27 14:21 2202次阅读

    ARM中断体系和ZYNQ中断体系详解

    ARM中断体系 ① ARM体系,在存储地址的低位,固化了一个32字节的硬件中断向量表。 ② 异常中断发生时,程序计数器PC所指的位置不同,异常中断就不同。中断结束后,中断不同,返回地址也
    的头像 发表于 11-27 11:01 5102次阅读
    <b>ARM</b><b>中断</b>体系和ZYNQ<b>中断</b>体系详解

    ARM微处理器对异常中断的响应过程

    异常中断发生时,程序将当前执行指令的下一条指令的地址存入新的异常模式的链接寄存器LR(R14_<mode>),以便程序异常处理完后,能正确返回原程序
    发表于 10-18 17:25 54次阅读