ARM处理器编程基础完整版课件.ppt

上传人(卖家):晟晟文业 文档编号:4180736 上传时间:2022-11-17 格式:PPT 页数:30 大小:965KB
下载 相关 举报
ARM处理器编程基础完整版课件.ppt_第1页
第1页 / 共30页
ARM处理器编程基础完整版课件.ppt_第2页
第2页 / 共30页
ARM处理器编程基础完整版课件.ppt_第3页
第3页 / 共30页
ARM处理器编程基础完整版课件.ppt_第4页
第4页 / 共30页
ARM处理器编程基础完整版课件.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、嵌入式微控制器编程Embedded Microcontroller Programming艾云峰College of Computing&Communication Engineering精选精选内容大纲一、Arm处理器编程基础 SOURCE:ARM Architecture Reference Manual,Chapter A3精选Arm处理器编程基础1.数据类型 2.ARM 微处理器的工作状态 3.ARM处理器工作模式 4.寄存器组织 5.异常(Exceptions)6.ARM 体系结构的存储器格式 精选数据类型字(Word)在ARM体系结构中,字的长度为32位,其它8位/16位处理器体系

2、结构中,字的长度一般为16位 半字(Half-Word)在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致 字节(Byte)在ARM体系结构和8位精选ARM 微处理器工作状态ARM微处理器的工作状态一般有两种,并可在两种状态之间切换 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令精选ARM处理器工作模式(1)ARM 有7个基本工作模式:UserUser:非特权模式,大部分任务执行在这种模式正常程序执行的模式FIQFIQ:当一个高优先级(fast)中断产生时将会进入这种模式高速

3、数据传输和通道处理IRQIRQ:当一个低优先级(normal)中断产生时将会进入这种模式通常的中断处理SupervisorSupervisor:当复位或软中断指令执行时将会进入这种模式供操作系统使用的一种保护模式AbortAbort:当存取异常时将会进入这种模式虚拟存储及存储保护UndefUndef:当执行未定义指令时会进入这种模式软件仿真硬件协处理器SystemSystem:使用和User模式相同寄存器集的特权模式特权级的操作系统任务异常模式异常模式(Exception)特权模式特权模式(Privilige)精选ARM处理器工作模式(2)处理器工作模式的切换方法通过软件控制进行切换通过外部中

4、断进行切换通过异常处理进行切换用户模式的特点大多数应用程序运行在用户模式下应用程序不能访问受操作系统保护的系统资源不能通过软件控制的方式进行模式切换可通过产生异常处理来切换处理器工作模式精选ARM处理器工作模式(3)异常模式的作用特点当应用程序发生异常中断时,处理器进入相应的异常模式在每一种异常模式中都有一组寄存器,供相应的异常处理程序使用。这样可以保证进入异常模式时,用户模式下的寄存器(保存了程序运行状态)不被破坏系统模式的特点属于特权模式,主要供操作系统的任务使用,可以直接进行处理器切换操作系统任务需要访问所有系统资源,使用用户模式下的寄存器而不是异常模式下的寄存器,可保证异常中断发生时任

5、务状态不被破坏精选ARM寄存器组织(1)精选ARM寄存器组织(2)ARM 有37个32-Bits长的寄存器,其中包括:31 个通用寄存器个通用寄存器,包括1 个程序计数器PC(program counter)6个状态寄存器个状态寄存器,包括1个用作CPSR(current program status register)5个用作SPSR(saved program status registers)在每一种处理器模式下,有一组相应的寄存器组。任意时刻,可见的寄存器包括:相应的r0-r12子集相应的 r13(the stack pointer,sp)and r14(the link regist

6、er,lr)相应的 r15(the program counter,pc)相应的CPSR(current program status register,cpsr)特权模式 下(除system模式)还可以存取;相应的 spsr(saved program status register)精选通用寄存器通用寄存器包括R0R15,可以分为三类:未备份寄存器R0R7;备份寄存器R8R14程序计数器PC(R15)精选通用寄存器未备份寄存器对于每一个未备份寄存器来说,在所有处理器模式下指的都是同一个物理寄存器,未备份寄存器没有被系统用于特别的用途,任何可采用通用寄存器的应用场合都可以使用未备份寄存器精选

7、通用寄存器 备份寄存器对于备份寄存器R8R12而言,每个寄存器对应两个不同的物理寄存器。在快速中断模式下使用寄存器R8R12,和在其它模式下使用这些寄存器时,使用的是不同的物理寄存器。对于备份寄存器R13和R14而言,每个寄存器对应6个不同的物理寄存器,其中一个是用户模式和系统模式公用的;另外5个对应于其它5种处理器模式。精选通用寄存器 备份寄存器寄存器R13在ARM指令中常用作堆栈指针。每一种异常模式拥有自己的物理R13,当进入异常模式时,可以将需要使用的寄存器保存在R13所指的栈中;当退出异常模式时,将保存在R13所指的栈中的寄存器弹出,从而使异常处理器程序不会破坏其中断程序的运行现场。精

8、选通用寄存器 备份寄存器R14也称作子程序连接寄存器(Subroutine Link Register)或连接寄存器LR,在ARM体系中具有下面两种特殊的作用:每一种处理器模式自己的物理R14存放当前子程序的返回地址。当通过BL或BLX指令调用子程序时,R14被设置成该子程序的返回地址。在子程序中,当把R14的值复制到PC时,子程序返回。实现子程序返回的两种操作:执行下面任何一条指令:nMOV PC,LRnBX LR当异常发生时,该异常模式特定的物理R14被设置成该异常模式将要返回的地址。精选通用寄存器 程序计数器寄存器R15用作程序计数器(PC)由于ARM 体系结构采用了多级流水线技术,对于

9、ARM 指令集而言,当正确读取了PC的值时,该值为当前指指令地址值加令地址值加8,也即是说,也即是说,PC指向当前指令的下两条指向当前指令的下两条指令的地址指令的地址。精选程序状态寄存器(1)寄存器R16寄存器R16用作CPSR(Current Program Status Register,当前程序状态寄存器),CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处理器模式标志位,以及其他一些相关的控制和状态位每一种运行模式下又都有一个专用的物理状态寄存器,称为SPSR(Saved ProgramStatus Register,备份的程序状态寄存器),当异常发生时,SPSR用

10、于保存CPSR的当前值,从异常退出时则可由SPSR来恢复CPSR 精选程序状态寄存器(2)精选程序状态寄存器(3)精选程序状态寄存器(4)-运行模式位M4:0精选异常(Exceptions)Exceptions are generated by internal and external sources to casuse the processor to handle an event,such as an externally generated interrupt or attempt to execute an undefined instruction.The processor s

11、tate just before handling the exception must be preserved so that the original program can be resumed when the exception routine has completed.More than one exception can arise at the same time.精选Arm体系结构的异常种类精选异常处理模式及异常向量地址精选微处理器对异常的响应ARM微处理器对异常的响应过程用伪码可以描述为:R14_=Return LinkSPSR_=CPSRCPSR4:0=Excepti

12、on Mode NumberCPSR5=0;当运行于ARM 工作状态时If =Reset or FIQ then;当响应FIQ 异常时,禁止新的FIQ 异常CPSR6=1 /*否则,禁止IRQ中断*/CPSR7=1PC=Exception Vector Address精选从异常处理程序中返回从异常处理程序中返回异常处理完毕之后,应编写程序执行以下几步操作从异常处理程序中返回:1.将SPSR复制回CPSR中。2.将连接寄存器LR的值减去相应的偏移量后送到PC中。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回精选异常的优先级优先级异常1(最高)复位2数据中止3FI

13、Q4IRQ5预取中止6未定义指令,SWI精选中断总结Arm的异常中断、中断向量表、中断处理、中断引起的工作模式的改变、中断的作用。IRQ引脚FIQ引脚Reset引脚devicesdevicesReset按键内部指令执行中断模块未定义指令SWI指令指令预取中止数据预取中止复位中断(1)未定义指令(6)软件中断(6)指令预取中止(5)数据访问中止(2)IRQ(4)FIQ(3)PCCPU0 x00 x40 x80 xc0 x100 x140 x180 x1c中断向量地址Ldr PC,=ResetHandlerLdr PC,=UndeftHandlerLdr PC,=SWIHandlerLdr PC,

14、=InstrHandlerLdr PC,=DataHandler保留Ldr PC,=IRQHandlerLdr PC,=FIQHandler中断处理设置异常模式Flash精选ARM体系中的存储空间ARM体系使用单一的平板地址空间平板地址空间。该地址空间的大小为232个8位字节。这些字节单元的地址是一个无符号的32位数值,其取值范围是0232-1。ARM地址空间也可以看作是230个32位的字单元。这些字单元的地址可以被4整除。地址为A的字数据包括地址为A、A+1、A+2、A+3等4个字节单元的内容。在ARM版本4及以上的版本中,ARM的地址空间也可以看作是231个16位的半字单元。这些半字单元的地址可以被2整除。地址为A的半字数据包括地址为A、A+1等2个字节单元的内容。精选Arm存储器格式ARM体系结构将存储器看作是从零地址开始的字节的线性组合 ARM体系结构可以用两种方法存储字数据,称之为大端格式和小端格式精选Any Questions?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(ARM处理器编程基础完整版课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|