arm异常处理流程

发布者:李国永最新更新时间:2019-01-31 来源: eefocus关键字:arm  异常  处理流程 手机看文章 扫描二维码
随时随地手机看文章

1. 什么是异常?


cpu正常运行的时候,出现一些突发事件,我们的cpu就必须暂停当前程序的运行,去处理这些异常




2. cpu中有哪些异常?


1.reset       上电 重启


2.undef      流水线中某个非法指令到达执行状态的时候执行


3. swi         软中断指令


4.prefetch  当一个指令被从内存中预取时,由于某种原因而失败,如果它能到达执行状态这个异常才会产生


5.data       如果一个预取指令试图访问一个非法的内存单元,这是异常产生


6.IRQ       通常的中断


7 fiq          快速中断


 


3. 异常会让cpu进入什么模式?


1.reset    -----》svc


2.undef  ------》undef模式


3. swi    -------》svc


4. prefetch----》abort


5. data    ----》abort


6. IRQ     ----》irq


7. fiq      ----》fiq


 


4. arm cpu异常处理流程


1)  拷贝 CPSR 到 SPSR_


2)  设置适当的 CPSR 位:                                


a)改变处理器状态进入 ARM 态  


b)改变处理器模式进入相应的异常模式


c)设置中断禁止位禁止相应中断 (如果需要)


3)  保存返回地址到 LR_处理完异常,要能回去,继续执行原来的代码。


4)  设置 PC 为相应的异常向量表,异常的程序的入口,异常的入口地址,是固定的。      


返回时, 异常处理需要:【软件操作】


一从 SPSR_恢复CPSR


二 从LR_恢复PC


注1:这些操作只能在 ARM 态执行.


注2:linux内核的异常向量表


D:\linux-3.14-fs4412\arch\arm\kernel\entry-armv.S



注3:  进入异常入口之后,:要保存现场【r0-r12】,压栈还原现场,【r0-r12】需要退栈。


关键字:arm  异常  处理流程 引用地址:arm异常处理流程

上一篇:stm32使用systick精确延时
下一篇:STM32F103出现CPU could not be halted问题的解决方案

推荐阅读最新更新时间:2024-03-16 16:23

ARM7系统中CF卡存储的文件系统设计实现
随着微控制器性能的不断提高,嵌入式应用越来越广泛。但是目前市场上的大型商用嵌入式实时系统,价格昂贵,而且都针对特定的硬件平台。对于中小型系统开发,购买商用实时系统并不划算。 目前我们正着手将嵌入式系统软件应用于汽车卫星导航仪系统的一步开发。传统的嵌入式应用并不包括文件系统,而我们要实现的文件系统需要在车辆导航系统中实现地图数据文件的读写。因此它既要支持与MS-DOS兼容的文件系统也要支持其它类型的文件系统。 另一方面,从数码相机到MP3播放机,从掌上电脑到数码摄像机,CF(CompactFlash)卡由于具有体积小、兼容性强、价格相对低廉等诸多优点,在数码设备上的应用越来越广泛。但若想在CF卡与PC之间传递数据,通常不得不借助于
[单片机]
<font color='red'>ARM</font>7系统中CF卡存储的文件系统设计实现
arm寄存器解析
寒假闲来无事准备将自己的走过的arm之路总结一下,今天就先从arm的寄存器说起吧,欢迎各位拍砖。 要介绍arm寄存器之前我们要先了解一下arm处理器的工作模式: Arm处理器有七种工作模式,为的是形成不同的使用级别,以防造成对系统的破坏。不同模式可以访问的寄存器不同,可以运行的指令不同。 (1)usr(10):普通应用程序运行的模式(应用程序) (2)FIQ(11):快速中断模式,以处理快速情况,高速数据传输 (3)IRQ(10010):外部中断模式,普通中断处理 (4)svc(10011):保护模式(管理模式),操作系统使用的特权模式(内核) (5)abt(10):数据访问中止模式,用于虚拟存储和存储保护 (6)und(11011
[单片机]
<font color='red'>arm</font>寄存器解析
ARM体系结构详解之ARM寄存器
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。   这里尤其要注意区别的是ARM自身寄存器和它的一些外设的寄存器的区别。   ARM自身是统一架构的,也就意味着37个寄存器无论在哪个公司的芯片里面都会出现。但是各家公司会对ARM进行外设的扩展,所以就出现了好多外设寄存器,一定要与这37个寄存器区别开来!!!   1、备份寄存器(R8-R14)   对于R8-R12来说,除在快速中断模式下,每个模式对应相同物理寄存器,所以在FIQ模式下可不必保护和恢复中断现场。   对于R13-R14来说,每个寄存器对应6个不同的物理寄存器,其中一个是用户模式和系统模式共用的。   寄存器R13常用做栈指针SP,除
[单片机]
软银携手ARM引领资讯革命迈向下一阶段典范转移
对软体银行集团(软银集团)与ARM来说历史性的一天。双方秉持共同的愿景与雄心结合两家企业,致力于用科技改变世界,使生活更便利、安全和精采充实。ARM现已成为软银集团的一份子,但双方共同的愿景与目标依然不变,经营形态也一如以往,唯一改变的就是变得更好。 软银集团认为现在应当说明为何两家企业都看好未来前景。软银集团与ARM创造的科技,一直是推动运算与连网演进的核心技术。ARM众多的合作伙伴每天出货超过4,000万颗以ARM为核心的晶片到全球各地,而搭载这些晶片的产品供全球各地的消费者使用并使企业运作。 软银集团每天除了为日本与美国境内超过1亿用户与装置提供行动与固网服务,提供多样的网路服务,并持续在包括人工智慧(AI
[单片机]
基于ARM控制器的渗炭炉温度控制系统的设计
渗碳过程工件质量主要取决于对温度的控制,当今市场中温度控制成型的产品均以单片机为控制器。由于一般单片机的速度比较慢,更重要的是其ROM和RAM空间比较小,不能运行较大程序,而基于多任务的操作系统需要的任务堆栈很多,需要的RAM空间很大,故其在发展上受到了很大限制。其欢在开发环境上,DSP需要开发用的仿真器,其价格比较贵,因此本设计排除了使用DSP。ARM系列的ARM7TDM1核嵌入式处理器目前应用得较多,价格比较低,性价比较好,还有免费的开发工具ARM SDT,再配以简单的JTAG仿真器,就可以运行嵌入式开发,因此本设计选用韩国三星公司的S3C44BOX芯片作为主控制器。 1 Samsung S3C4480X芯片简介 Samsu
[工业控制]
I2C总线实现TMS320VC5509A引导装载设计
1 引言 DSP芯片的Bootloader程序用于上电时将用户程序从外部非易失性、慢速存储器或外部控制器中装载到片内高速RAM中,保证用户程序在DSP内部高速运行,TI公司的C55x系列DSP芯片提供多种装载模式,主要包括HPI引导装载、串行E2ROM引导装载、并行引导装载、串行口引导装载、I2C总线E2ROM引导装载等,通常使用的是并行引导装载模式,该方式引导速度快实现简单,但是体积和功耗也较大,随着串行接口存储设备容量的提高,串行引导方式体积小、功耗低的优势便显现出来了,所以使用ARM的串行接口对DSP进行引导装载,不仅能省去存储芯片,而且利用ARM的ISP功能,可以根据需要改变用户程序,有利于系统的维护和升级。 本文以TM
[嵌入式]
ARM中定时器浅谈
LPC21XX/22XX含有两个32位定时器:定时器0和定时器1。这两个定时器除了外设基地址不同外,其他都相同。他们具有如下特性: 1.两个32位定时器/计数器各含有一个可编程32位预分频器。 2.具有多达4路捕获通道,当输入信号跳变时可取得定时器的瞬时值,也可以选择捕获事件产生中断。 3.4个32位匹配寄存器,匹配时的动作有如下3种:A匹配时定时器继续工作,可选择产生中断;B 匹配时停止定时器,可选择产生中断; C 匹配时复位定时器,可选择产生中断。 4.4个对应于匹配寄存器的外部输出,匹配时的输出有如下4种:A 匹配时设置为低电平,B 匹配时设置为高电平;C 匹配时翻转; D 匹配时无动作。 定时器的时钟源是PCLK
[单片机]
IBM支持32nm/28nm ARM片上系统芯片
  IBM、特许半导体、三星电子和ARM公司今天共同宣布,他们将合作开发基于32nm和28nm制程的SoC片上系统平台,主要基于IBM半导体技术同盟的High-K金属栅极技术。   根据这些公司签订的长期合作协议,ARM公司将主要负责开发,然后将该平台电路、存储和接口的各种专利知识产权授权给IBM、特许和三星公司,由他们进行制造并提供给其客户使用。   ARM公司还宣布,他们将专门针对High-K金属栅极32nm/28nm制程技术,开发以高性能功耗比为特色的Cortex系列处理器。
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved