四、ARM 异常处理

发布时间:2023-07-11  

4.1 模式与异常

当正常程序流程被暂时停止发生异常,例如响应一个来自外设的中断。在处理异常前,必须保护当前的处理器状态,以便在完成处理程序后能恢复到原来的程序 。

异常的类型: Reset undefined instruction swi prefetch/bort data/abort Reserved  IRQ FIQ 

处理器的模式: 每一个异常对应一种模式, 但不是一一对应关系

  如下,中断向量表

4.2 ARM 异常处理过程

  下面的步骤都是硬件自动完成的,软件不需要完成。

解释:

  

4.3 异常进入/返回总结

  • 注意:

    • PC 在不同情况含义不一样,比如:PC(excute)=PC(fetch) - 8, 程序进入异常时LR 值(LR= PC-4)异常会清除处理器的流水线。

    • 每种异常发生的时机不一样,对于中断而言,指令还未被执行就产生了,对于 BL/SWI/UNEF 而言, 指令是执行过了的。

    • 当发生预取中止, 将预取的指令标记为无效,在指令达到流水线执行阶段执行才进入异常,如果指令在流水线中因为分支而没有被执行,异常不会发生。

    • 当发生数据中止异常时,异常会在访存阶段发生。

    • PABT 和 DABT 常结合 MMU 和 OS 来使用,abort 的处理程序就必须找出异常中断的原因,使要求的数据可用,并重试被中止掉的指令。

4.4 ARM 的存储系统

4.4.1 存储器与存储控制器

  • 存储器单元:存放数据的位置,地址是挂在系统总线。

  • 存储控制器:初始化存储器器件,有对应的寄存器配置,寄存器是挂在系统总线上。

4.4.2 存储器存储数据格式

  • 大端格式: 8051 ARM 处理器将最高位字节保存在最低地址,最低字节保存在最高地址

  • 小端格式: ARM, X86  一个字当中最低地址的字节被看作是最低位字节,最高地址的字节被看作是最高位字节


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>