首页 » 智能 » 浅谈ARM处理器的七种异常处理_指令_处置器

浅谈ARM处理器的七种异常处理_指令_处置器

乖囧猫 2025-01-08 03:55:31 0

扫一扫用手机浏览

文章目录 [+]

本日我们来谈谈ARM处理器所支持的七种非常处理。

ARM处理器的非常

当程序在正常实行过程中,涌现暂时停滞时,我们称之为发生了非常。
比如说,在程序实行过程中,接到一个外部的中断申请。

浅谈ARM处理器的七种异常处理_指令_处置器 浅谈ARM处理器的七种异常处理_指令_处置器 智能

处理器在接到中断申请之后,一样平常要经由下面的步骤:

浅谈ARM处理器的七种异常处理_指令_处置器 浅谈ARM处理器的七种异常处理_指令_处置器 智能
(图片来自网络侵删)
保留当前处理器状态;处理中断;返回中断前状态,连续实行中断出路序。

当有多个中断同时申请时,处理器将按照优先级,顺次进行处理。

须要指出的是,非常并不完备等同与中断,中断只是ARM所支持非常类型的一种。

ARM所支持的非常类型

ARM体系处理器支持的非常处理有7种,下表列出了ARM体系处理器支持的非常及互异常的含义。

复位

在复位电平有效时,就会产生复位非常,程序跳转到复位处理程序处实行。
复位向量地址是0x00000000开始连续四个字节。
复位非常常日用在:系统加电时,系统复位时,跳转到复位向量地址。

未定义指令

当碰着不能处理的指令时,产生未定义指令非常。
向量地址为:0x00000004开始连续四个字节。

软件中断

实行SWI指令产生,用于用户模式下的程序调用特权操作指令。
在实时操作系统(RTOS)中可以通过该机制实现系统功能调用。
向量地址为:0x00000008开始连续四个字节。

指令预取中止

处理器预取指令的地址不存在,或该地址不许可当前指令访问,产生此类非常。
向量地址为:0x0000000C开始连续四个字节。

数据中止

处理器数据访问指令的地址不存在,或该地址不许可当前指令访问时,产生数据中止非常。
向量地址为:0x00000010开始连续四个字节。

IRQ

外部中断要求有效,且CPSR中的I位为0时,产生IRQ非常。
向量地址为:0x00000018开始连续四个字节。

FIQ

快速中断要求引脚有效,且CPSR中的F位为0时,产生FIQ非常。
向量地址为:0x0000001C开始连续四个字节。

ARM处理器对非常的相应过程

如果一个非常涌现,复位非常会立即中止当前指令实行,除此之外的其他非常,处理器会尽可能完成当前指令,然后再去处理非常。
对非常的相应一样平常分为以下几步:

保存下一条指令的地址(PC)到相应连接寄存器LR_mode中,当处理完非常返回时,从非常发生前的地址处,重新开始实行。
将CPSR的内容复制到,将要实行的非常模式对应的SPSR_<mode>中。
设置当前状态寄存器CPSR的干系位。
逼迫PC从干系的非常向量地址,取下一条指令实行,从而跳转到相应的非常处理程序处。

ARM处理器从非常处理中返回过程

在处理完非常之后,规复用户任务的正常实行,即从非常处理中返回。
ARM处理器从非常中返回,一样平常分为以下几步:

从处理程序的保护堆栈中,规复非常处理中用过的用户寄存器。
将相应SPSR_<mode>内容复制回CPSR中,以规复非常涌现前的程序状态。
若在进入非常处理时设置了中断掌握位,要在此时打消。
将连接寄存器LR_<mode>的值减去相应的偏移量后送到PC中。
小结

本日我们谈了ARM处理器的七种非常情形,并先容了对非常的相应过程,和返回过程。
深入理解本日的内容,是利用ARM处理器实现嵌入式系统编程的条件。

标签:

相关文章

浅谈ARM处理器的七种异常处理_指令_处置器

本日我们来谈谈ARM处理器所支持的七种非常处理。 ARM处理器的非常当程序在正常实行过程中,涌现暂时停滞时,我们称之为发生了非常。...

智能 2025-01-08 阅读 评论0

原神,代码编织的幻想世界

在虚拟与现实交织的今天,一款名为《原神》的游戏如同一颗璀璨的明星,照亮了无数玩家的心灵。这款游戏,凭借其精美的画面、独特的玩法、丰...

智能 2025-01-08 阅读3 评论0

双义键,编码与解码的艺术之旅

在信息时代,数据与信息的传播速度如同光速一般。为了使信息传输更加高效、便捷,双义键应运而生。双义键,顾名思义,即同一键可以对应多个...

智能 2025-01-08 阅读0 评论0

去缝隙技术,创新驱动下的建筑革新之路

建筑,作为人类文明的重要载体,承载着历史、文化和科技的发展。在我国,随着科技的飞速进步,建筑行业也迎来了前所未有的变革。其中,去缝...

智能 2025-01-08 阅读0 评论0