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
    +关注

    关注

    135

    文章

    9618

    浏览量

    394586
  • 寄存器
    +关注

    关注

    31

    文章

    5625

    浏览量

    130743
  • 异常中断
    +关注

    关注

    0

    文章

    10

    浏览量

    1409
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于FreeRTOS中断返回模式和堆栈指针的理解

    在学习RTOS的过程,发现如下表格,即在中断或者异常处理函数,r14返回EXC_RETURN: 以下是个人的浅显理解: 中断处理函数时,
    发表于 05-06 15:04

    CAN进入异常中断是为什么?

    我在S32K310芯片上使用CAN1和CAN2,当前只有在CAN1的总线上有两个节点,CAN2上是单节点状态。但是CAN2在没有触发任何故障的情况下重复进入ERR_IRQHandler。这是为什么?
    发表于 03-16 06:58

    CW32F030中断解析

    中断 1 概述 ARM® Cortex®-M0+ 内核的嵌套向量中断控制器 (NVIC),用于管理中断异常。NVIC 和处理器内核紧密相连
    发表于 01-12 08:41

    RISC-V异常中断机制全解析

    RISC-V 作为开源、模块化的精简指令集架构,其异常中断机制是保障系统可靠运行、响应外部事件与处理内部错误的核心支撑。
    的头像 发表于 12-28 14:41 2200次阅读
    RISC-V<b class='flag-5'>异常中断</b>机制全解析

    何进入休眠模式或深度休眠模式?

    )的 SLEEPONEXIT 和 SLEEPDEEP 位域,可实现立即进入或退出(中断服务程序)时进入休眠模式或深度休眠模式。 •立即
    发表于 12-16 06:25

    mcu短时间内发生多次中断,如何解决中断丢失问题

    的事情,下半部处理比较耗时的操作。 还有在使用中断的时候,如果是已经在处理进入中断的第一件事情就是关闭中断,避免
    发表于 12-05 07:07

    芯源MCU中断相关寄存器

    。 5.5.2 NVIC 中断挂起和清除挂起 在中断发生时,如果系统正在处理与之相同优先级或更高优先级的中断,系统将不会立即处理此中断,而是将
    发表于 11-27 07:23

    芯源MCU进入休眠模式或深度休眠模式

    )的SLEEPONEXIT 和SLEEPDEEP 位域,可实现立即进入或退出(中断服务程序)时进 入休眠模式或深度休眠模式。 ●● 立即进入
    发表于 11-26 07:41

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒 本文章主要是讲解NCS下面使用nRF54L15如何进入system_off模式,以及如何配置通过按键唤醒 一、如
    的头像 发表于 09-29 00:56 1029次阅读
    【NCS随笔】如<b class='flag-5'>何进入</b>system_off深度睡眠模式以及配置GPIO<b class='flag-5'>中断</b>唤醒

    为什么程序在清除中断标志后进入中断服务例程?

    为什么程序在清除中断标志后进入中断服务例程?
    发表于 08-27 08:33

    中断处理程序进入掉电模式需要注意什么?

    中断处理程序进入掉电模式需要注意什么?
    发表于 08-26 07:46

    请问在中断处理程序进入掉电模式需要注意什么?

    中断处理程序进入掉电模式需要注意什么?
    发表于 08-21 06:20

    STM32G474进入Fault3中断没办法设置成周期性触发吗?

    到最低也不行。想请教下,进入Fault3中断没办法设置成周期性触发吗?这种持续触发中断的方式使程序中断里出不来怎么办
    发表于 08-01 07:23

    请问中断过多的时候进入硬件错误如何处置?

    中断过多的时候进入硬件错误如何处置?是加看门狗还是加硬件错误处理?
    发表于 07-21 06:11

    STM32IDE如何设定代码到ITCM运行?

    摸索到了如何将变量定义到某个地址,但是不清楚如何让代码在指定RAM运行。按照设定变量的方式设定代码,程序直接进入异常中断{:16:}。
    发表于 06-24 06:45