第3章ARM及XScale介绍_第1页
第3章ARM及XScale介绍_第2页
第3章ARM及XScale介绍_第3页
第3章ARM及XScale介绍_第4页
第3章ARM及XScale介绍_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、123.1 ARM微处理器概述微处理器概述3 ARM(Advanced RISC Machines),既可以认为是,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。还可以认为是一种技术的名字。 1991年年ARM公司成立于英国剑桥,主要出售芯片设公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用计技术的授权。目前,采用ARM 技术知识产权技术知识产权(IP)核的核的微处理器,即我们通常所说的微处理器,即我们通常所说的ARM微处理器,已遍及工微处理器,已遍及工业控制、消费类电子产品、通信系统、网络

2、系统、无线业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于系统等各类产品市场,基于ARM技术的微处理器应用约技术的微处理器应用约占据了占据了32位位RISC微处理器微处理器75%以上的市场份额,以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。技术正在逐步渗入到我们生活的各个方面。 4 ARM公司是专门从事基于公司是专门从事基于RISC技术芯片设计开发技术芯片设计开发的公司,作为知识产权供应商,它本身不直接从事芯片的公司,作为知识产权供应商,它本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯生产,靠转让设计许可,由合作公司生产各具特色的芯片,

3、世界各大半导体生产商从片,世界各大半导体生产商从ARM公司购买其设计的公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的的外围电路,从而形成自己的ARM微处理器芯片进入市微处理器芯片进入市场。场。 目前,全世界有几十家大的半导体公司都使用目前,全世界有几十家大的半导体公司都使用ARM公司的授权,因此既使得公司的授权,因此既使得ARM技术获得更多的第三方工技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费者所接受,更具

4、有竞争力。使产品更容易进入市场被消费者所接受,更具有竞争力。 5ARM处理器系列处理器系列 下面所列的是下面所列的是ARM微处理器的几个系列,以微处理器的几个系列,以及其他厂商基于及其他厂商基于ARM体系结构的处理器,这些处体系结构的处理器,这些处理器除了具有理器除了具有ARM体系结构的共同特点以外,每体系结构的共同特点以外,每一个系列的一个系列的ARM微处理器都有各自的特点和应用微处理器都有各自的特点和应用领域。领域。 ARM7系列系列 ARM9系列系列 ARM9E系列系列 ARMl0E系列系列 SecurCore系列系列 Intel的的Xscale Intel的的StrongARM6Xsc

5、ale处理器处理器Xscale处理器是基于处理器是基于ARMv5TE体系结构的解决体系结构的解决方案,是一款性能全、性价比高、功耗低的处方案,是一款性能全、性价比高、功耗低的处理器。理器。它支持它支持16位的位的Thumb指令和指令和DSP指令集指令集,已使用已使用在数字移动电话、个人数字助理和网络产品等在数字移动电话、个人数字助理和网络产品等场合。场合。Xscale处理器是处理器是Intel目前主要推广的一款目前主要推广的一款ARM微处理器。微处理器。7RISC体系结构体系结构 ARM处理器实现加载存储处理器实现加载存储(load/store)体体系结构是典型的系结构是典型的RISC处理器。

6、只有加载和存储指处理器。只有加载和存储指令可以访问存储器。数据处理指令只对寄存器的令可以访问存储器。数据处理指令只对寄存器的内容进行操作。内容进行操作。8精简指令集计算机精简指令集计算机RISC (Reduced Instruction Set Computer)结构的产生是相对于结构的产生是相对于传统的复杂指令集计算机传统的复杂指令集计算机CISC (Complex Instruction Set Computer)结构而言的。结构而言的。传统的传统的CISC计算机的指令集随着计算机的发计算机的指令集随着计算机的发展而引入了各种各样的复杂指令展而引入了各种各样的复杂指令,使得指令集和为使得指

7、令集和为此要实现这些指令的计算机体系结构越来越复杂此要实现这些指令的计算机体系结构越来越复杂,已经不堪重负。已经不堪重负。9经过大量的研究和分析经过大量的研究和分析,发现在发现在CISC的指令集的指令集中中,各种指令的使用频度相差悬殊。各种指令的使用频度相差悬殊。大概有大概有20%的指令被反复使用的指令被反复使用,使用量约占整使用量约占整个程序的个程序的80%;而有而有80%左右的指令则很少使用左右的指令则很少使用,其其使用量约占整个程序的使用量约占整个程序的20%。这就是所谓的。这就是所谓的20%80%定律定律。10RISC特点特点如下:如下:指令规整、对称、简单。指令小于指令规整、对称、简

8、单。指令小于100条,基本寻址条,基本寻址方式有方式有23种。种。单周期指令。单周期指令。指令字长度一致,单拍完成,便于流水操作指令字长度一致,单拍完成,便于流水操作;ARM7 三级流水线:取指、译码、执行;三级流水线:取指、译码、执行;ARM9 五级流水线;五级流水线;ARMl0 六级流水线。六级流水线。大量的寄存器。寄存器不少于大量的寄存器。寄存器不少于32个。数据处理器的个。数据处理器的指令只对寄存器的内容操作。只有加载存储指令可以指令只对寄存器的内容操作。只有加载存储指令可以访问存储器。访问存储器。 11几种常用的调试方法几种常用的调试方法指令集模拟器指令集模拟器 一种利用一种利用PC

9、PC机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试的方法。驻留监控软件驻留监控软件 驻留监控程序运行在目标板上,驻留监控程序运行在目标板上,PCPC机端调试软件可通过机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务寄存器读写、断点设置等任务JTAGJTAG仿真器仿真器 通过通过ARMARM芯片的芯片的JTAGJTAG边界扫描口与边界扫描口与ARMARM核进行通信,不占用核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段目标板的资源,是目前使用最广泛的调试手段在线仿真器在线仿真器

10、 使用仿真头代替目标板上的使用仿真头代替目标板上的CPUCPU,可以完全仿真可以完全仿真ARMARM芯片的芯片的行为。但结构较复杂,价格昂贵,通常用于行为。但结构较复杂,价格昂贵,通常用于ARMARM硬件开发硬件开发中中12什么是什么是JTAG?JTAGJTAG是是Joint Test Action GroupJoint Test Action Group的缩写是的缩写是IEEE1149.1IEEE1149.1标准标准JTAGJTAG的建立使得集成电路固定在的建立使得集成电路固定在PCBPCB上,只通过边上,只通过边界扫描便可以被测试界扫描便可以被测试在在ARM7TDMIARM7TDMI处理器

11、中,可以通过处理器中,可以通过JTAGJTAG直接控制直接控制ARMARM的内部总线,的内部总线,IOIO口等信息,从而达到调试的目的口等信息,从而达到调试的目的1314ARM的的JTAG调试结构调试结构15ARM的的JTAG调试接口调试接口1、ARM的的JTAG调试结构调试结构一个典型的一个典型的ARM基于基于JTAG调试结构调试结构如图所示。如图所示。Debug主控端主控端协议转换器协议转换器调试目标机调试目标机处理器的开发系统处理器的开发系统负责转换负责转换Debug主控端发出的主控端发出的高级高级ARM调试指令为调试指令为底层的和底层的和ARM内核通信的内核通信的运行公司或第三方运行公

12、司或第三方提供的调试软件的机提供的调试软件的机16Debug主控(主控(Host)通常是运行有通常是运行有ARM公司或者第公司或者第三方提供的调式软件的三方提供的调式软件的PC,通常用的调试软件有,通常用的调试软件有ARM Debug for Window(ADW),Linux下的下的arm-elf-gdb等。等。通过这些调试软件,可以发送高级的通过这些调试软件,可以发送高级的ARM指令,比如:指令,比如:设置断点,读写存储器,单步跟踪,全速运行等。设置断点,读写存储器,单步跟踪,全速运行等。17协议转换器(协议转换器(Protrocol converter)负责转换负责转换Debug主控端发

13、出的高级主控端发出的高级ARM调式命令为底层的和调式命令为底层的和ARM内核通内核通信的信的JTAG命令。命令。Debug主控端和协议转换器之间的主控端和协议转换器之间的介质介质可以有很多可以有很多种,比如:以太网,种,比如:以太网,USB,RS-232,并口等。主控端和,并口等。主控端和协议转换器之间的通信协议最典型的就是协议转换器之间的通信协议最典型的就是ARM公司提供公司提供的的Angle标准,也可以是第三方厂家自己定义的标准。标准,也可以是第三方厂家自己定义的标准。关于关于Angle的协议,请参考的协议,请参考ARM SDT和和ADS,ajj公公司的司的OpenICE32,EPI公司的

14、公司的Jeeni等。等。Debug目标板就是指系统的调试对象。目标板就是指系统的调试对象。18JTAG的典型信号的典型信号TMSTMS: 测试模式选择(测试模式选择(Test Mode SelectTest Mode Select),),通过通过TMSTMS信号控信号控制制JTAGJTAG状态机的状态状态机的状态TCK TCK :JTAGJTAG的时钟信号的时钟信号TDITDI:数据输入信号数据输入信号TDO TDO :数据输出信号数据输出信号nTRSTnTRST:JTAGJTAG复位信号,复位复位信号,复位JTAGJTAG的状态机和内部的宏单元的状态机和内部的宏单元(MacrocellMac

15、rocell)19JTAG与与AngelJTAGJTAG调试:协议转换器解释上位机传送过来的命调试:协议转换器解释上位机传送过来的命令,通过令,通过JTAGJTAG控制控制ARMARM执行。执行。AngelAngel调试:协议转换器可以直接做为目标板的调试:协议转换器可以直接做为目标板的FirmwareFirmware的一部分。直接执行从宿主机传送过来的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。的调试命令;并回送相应的数据。AngelAngel可以节省专门的可以节省专门的JTAGJTAG仿真器,但是,它需要仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完软件,

16、或者是嵌入式操作系统的支持,做不到完全的实时仿真。而全的实时仿真。而JTAGJTAG仿真是通过硬件和控制仿真是通过硬件和控制ARMARM的的EmbeddedICEEmbeddedICE实现的,可以做到实时仿真。实现的,可以做到实时仿真。203.2 ARM微处理器的体系结构微处理器的体系结构 21数据和指令类型数据和指令类型ARM采用的是采用的是32位架构。位架构。ARM约定:约定:Byte:8 bitHalfword: 16 bits(2 bytes)Word:32 bits(4 bytes)大部分大部分ARM core提供:提供:ARM指令集指令集(32-bit)Thumb指令集指令集(16

17、-bit)22数据类型数据类型字(字(Word)字的长度为字的长度为32位,而在位,而在8位位/16位处理器体系结位处理器体系结构中,字的长度一般为构中,字的长度一般为16位,请注意区分。位,请注意区分。半字半字(Half-Word)半字的长度为半字的长度为16位,与位,与8位位/16位处理器体系结位处理器体系结构中字的长度一致。构中字的长度一致。字节(字节(Byte)各种处理器体系结构中,字节的长度均为各种处理器体系结构中,字节的长度均为8位。位。23ARM微处理器的工作状态微处理器的工作状态从编程的角度看从编程的角度看,ARM微处理器的微处理器的工作状态工作状态一般一般有两种有两种,并可在

18、两种状态之间切换并可在两种状态之间切换:ARM状态,此时处理器执行状态,此时处理器执行32位的字对齐的位的字对齐的ARM指令;指令; Thumb状态,此时处理器执行状态,此时处理器执行16位的、半字对齐位的、半字对齐的的Thumb指令。指令。24ARM处理器在两种工作状态之间可以切换:处理器在两种工作状态之间可以切换:进入进入Thumb状态。状态。 当操作数寄存器的状态位当操作数寄存器的状态位(地址的最低位,即位地址的最低位,即位0)为为1时,执行时,执行BX指令进入指令进入Thumb状态。如果处理器在状态。如果处理器在Thumb状态进入异常,则当异常处理状态进入异常,则当异常处理(IRQ、F

19、IQ、Undef、Abort 和和 SWI)返回时,自动转换到返回时,自动转换到Thumb状态。状态。进入进入ARM状态。状态。 当操作数寄存器的状态位当操作数寄存器的状态位(位位0)为为0时,执行时,执行BX指令指令进入进入ARM状态。处理器进行异常处理状态。处理器进行异常处理(IRQ、FIQ、Reset、Undef、Abort 和和 SWI ARM状态执行状态执行)。在此情况下,把。在此情况下,把PC 放人异常模式链接寄存器中。从异常向量地址开始执放人异常模式链接寄存器中。从异常向量地址开始执行也可以进入行也可以进入ARM状态。状态。25处理器工作模式处理器工作模式ARM微处理器支持微处理

20、器支持7个基本工作模式,分别为:个基本工作模式,分别为: 用户模式用户模式(User):非特权模式,大部分任务执行在这种非特权模式,大部分任务执行在这种模式,模式,ARM处理器正常的程序执行状态。处理器正常的程序执行状态。快速中断模式快速中断模式(FIQ):当一个高优先级当一个高优先级(fast)中断产生时中断产生时将会进入这种模式,用于高速数据传输或通道处理。将会进入这种模式,用于高速数据传输或通道处理。 外部中断模式(外部中断模式(IRQ):当一个低优先级):当一个低优先级(normal)中断中断产生时将会进入这种模式,用于通用的中断处理。产生时将会进入这种模式,用于通用的中断处理。 管理

21、模式(管理模式(Supervisor):当复位或软中断指令执行):当复位或软中断指令执行时将会进入这种模式,操作系统使用的保护模式,时将会进入这种模式,操作系统使用的保护模式,系系统复位后的缺省模式。统复位后的缺省模式。26中止模式中止模式(Abort):当存取异常时将会进入这种:当存取异常时将会进入这种模式。模式。1.指令中止模式:指令预取终止时进入该模式。指令中止模式:指令预取终止时进入该模式。 2.数据访问中止模式:当数据访问终止时进入该模数据访问中止模式:当数据访问终止时进入该模式,可用于虚拟存储及存储保护。式,可用于虚拟存储及存储保护。 指令未定义模式指令未定义模式(Undef):当

22、执行未定义指令时会当执行未定义指令时会进入这种模式,支持硬件协处理器指令的软件进入这种模式,支持硬件协处理器指令的软件仿真。仿真。系统模式系统模式(System):使用和:使用和User模式相同寄存模式相同寄存器集的特权模式,运行具有特权的操作系统任器集的特权模式,运行具有特权的操作系统任务。务。27ARM微处理器的运行模式可以通过软件改变,微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是器运行在用户模式下时,某些被

23、保护的系统资源是不能被访问的。不能被访问的。除用户模式以外,其余的所有除用户模式以外,其余的所有6种模式称为非用种模式称为非用户模式或特权模式户模式或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的其中除去用户模式和系统模式以外的5种又称为种又称为异常模式异常模式(Exception Modes),常用于处理中断或,常用于处理中断或异常异常,以及需要访问受保护的系统资源等情况。以及需要访问受保护的系统资源等情况。28超级模式超级模式(Supervisor)多种特权模式变化多种特权模式变化用户程序的运行模式用户程序的运行模式复位后的缺省模式复位后的缺省模式主要完成各

24、模式主要完成各模式的堆栈设置,注的堆栈设置,注意不要进入用户意不要进入用户模式模式一般为用户模式一般为用户模式User处理器模式处理器模式处理器启动时的模式转换图处理器启动时的模式转换图29寄存器寄存器 ARM 的中央寄存器集是的中央寄存器集是16 个用户个用户寄存器寄存器R0 R15。这些寄存器均是。这些寄存器均是32 位宽度,位宽度,R0 R12没有其他特殊功能,没有其他特殊功能,寄存器寄存器R13 R15在在CPU中有特殊功能。中有特殊功能。R13被用作堆栈指针被用作堆栈指针(stack pointer,SP),保存当前处理器模式的堆栈的栈顶。保存当前处理器模式的堆栈的栈顶。R14被称为

25、链接寄存器被称为链接寄存器(link register,LR),保存调用子函数的返回地址。保存调用子函数的返回地址。R15是程序计数器是程序计数器(program counter,PC)。其内容是处理器要取的下一条指令的。其内容是处理器要取的下一条指令的地址。地址。30ARM状态下的寄存器组织状态下的寄存器组织程序状态寄存器:程序状态寄存器:CPSR(current program status register)当前的程序状态寄存器当前的程序状态寄存器SPSR(saved program status register)备份的程序状态寄存器备份的程序状态寄存器31ARM微处理器共有微处理器共

26、有37个个32位寄存器。位寄存器。1个用作个用作PC1个用作个用作CPSR5个用作个用作SPSR30个为通用寄存器个为通用寄存器当前处理器的模式决定着哪组寄存器可操作,任何模当前处理器的模式决定着哪组寄存器可操作,任何模式都可以存取:式都可以存取:相应的相应的R0 R12子集子集相应的相应的R13(SP),R14(LR)相应的相应的R15(PC)相应的相应的CPSR特权模式特权模式(除除system模式模式)还可存取:还可存取:相应的相应的SPSR6个状态寄存器个状态寄存器32ARM和和Thumb寄存器组织图解寄存器组织图解 33Thumb状态下和状态下和ARM状态下的状态下的R0R7是相同的

27、是相同的Thumb状态下和状态下和ARM状态下的状态下的CPSR和所有的和所有的SPSR是相同的是相同的Thumb状态下的状态下的SP对应于对应于ARM状态下的状态下的R13Thumb状态下的状态下的LR对应于对应于ARM状态下的状态下的R14Thumb状态下的程序计数器对应于状态下的程序计数器对应于ARM状态下状态下的的R15(1) Thumb状态下的寄存器组织与状态下的寄存器组织与ARM状态下状态下的寄存器组织的关系的寄存器组织的关系34 SPSR CPSRProgram Counter (PC)Link Register (LR)Stack Point (SP) R7 R6 R5 R4

28、R3 R2 R1 R0 SPSR CPSRProgram Counter (R15)Link Register (R14)Stack Point (R13) R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 RO低低寄寄存存器器Thumb 状态下的寄存器组织状态下的寄存器组织 ARM状态状态Thumb状态状态高高寄寄存存器器35(2) 访问访问THUMB状态下的高位寄存器状态下的高位寄存器(Hi-registers)在在Thumb状态下,高位寄存器状态下,高位寄存器R8R15并不是标准寄并不是标准寄存器集的一部分,但可使用汇编语言程序有限制地访问这存器集的一部分,但

29、可使用汇编语言程序有限制地访问这些寄存器,将其用作快速的暂存器些寄存器,将其用作快速的暂存器.使用带特殊变量的使用带特殊变量的 MOV指令指令,数据可以在低位寄存器数据可以在低位寄存器和高位寄存器之间进行传送和高位寄存器之间进行传送,高位寄存器的值可以使用高位寄存器的值可以使用CMP和和ADD指令进行比较或加上低位寄存器中的值。指令进行比较或加上低位寄存器中的值。 36 ARM体系结构包含一个当前程序状态寄存器体系结构包含一个当前程序状态寄存器(CPSR)和和5个备份的程序状态寄存器个备份的程序状态寄存器 (SPSRs)。备份的程序状态寄存器用来进行异常处理,其功能包括:备份的程序状态寄存器用

30、来进行异常处理,其功能包括:保存保存ALU中的当前操作信息。中的当前操作信息。控制允许和禁止中断。控制允许和禁止中断。设置处理器的运行模式。设置处理器的运行模式。程序状态寄存器每一位的安排程序状态寄存器每一位的安排如图所示如图所示. (3) 程序状态寄存器程序状态寄存器37程序状态寄存器的格式程序状态寄存器的格式38 条件码标志条件码标志(Condition Code Flags)N、Z、C、V均为条件码标志位。它们的内容均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。定某条指令是否被执行。在在ARM状态下,

31、绝大多数的指令都是有条件状态下,绝大多数的指令都是有条件执行的。在执行的。在Thumb状态下仅有分支指令是有条状态下仅有分支指令是有条件执行的。件执行的。 39标志位标志位含义含义N当用两个补码表示的带符号数进行运算时,当用两个补码表示的带符号数进行运算时,N=1表示运算的结果表示运算的结果为负数;为负数;N=0表示运算的结果为正数或零表示运算的结果为正数或零ZZ=1表示运算的结果为零;表示运算的结果为零;Z=0表示运算的结果为非零表示运算的结果为非零C可以有可以有4种方法设置种方法设置C的值;的值;加法运算(包括比较指令加法运算(包括比较指令CMP);当运算结果产生了进位时(无);当运算结果

32、产生了进位时(无符号数溢出),符号数溢出),C=1,否则,否则C=0;减法运算(包括比较指令减法运算(包括比较指令CMP);当运算时产生了借位(无符号);当运算时产生了借位(无符号数溢出),数溢出),C=0,否则,否则C=1;对于包含移位操作的非加对于包含移位操作的非加/减运算指令,减运算指令,C为移出值的最后一位;为移出值的最后一位;对于其它的非加对于其它的非加/减运算指令,减运算指令,C的值通常不改变的值通常不改变V对于加减运算指令,当操作数和运算结果为二进制的补码表示的对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,带符号数时,V=1表示符号为溢出;通常其他指令不影响

33、表示符号为溢出;通常其他指令不影响V位。位。 对于其他指令,对于其他指令,V经常不发生变化。经常不发生变化。条件码标志各位的具体含义条件码标志各位的具体含义40运行模式位运行模式位M4:0:M0、M1 、 M2、M3、M4是模是模式位。这些位决定了处理器的运行模式。具体含义如下。式位。这些位决定了处理器的运行模式。具体含义如下。由表可知,并不是所有的运行模式位的组合都是有效的,其由表可知,并不是所有的运行模式位的组合都是有效的,其他的组合结果会导致处理器进入一个不可恢复的状态。他的组合结果会导致处理器进入一个不可恢复的状态。41异常异常异常(exception)由内部或外部源产生以引起处理器由

34、内部或外部源产生以引起处理器处理一个事件,即当正常的程序执行流程发生暂时的停止处理一个事件,即当正常的程序执行流程发生暂时的停止时。例如,外部中断或试图执行未定义指令都会引起异常。时。例如,外部中断或试图执行未定义指令都会引起异常。在处理异常之前,处理器状态必须保留,以便在异常处理在处理异常之前,处理器状态必须保留,以便在异常处理程序完成后,原来的程序能够重新执行。程序完成后,原来的程序能够重新执行。处理器允许多个异常同时发生,它们将会按固定的优处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。先级进行处理。ARM支持支持7种种类型的类型的异常异常。列出了异常的类型以及处。列出了异常

35、的类型以及处理这些异常的处理器模式。异常出现后,强制从异常类型理这些异常的处理器模式。异常出现后,强制从异常类型对应的固定存储器地址开始执行程序。这些固定的地址称对应的固定存储器地址开始执行程序。这些固定的地址称为异常向量为异常向量(Exception Vectors)。42ARM体系结构所支持的异常类型体系结构所支持的异常类型 43异常向量表(异常向量表(Exception Vectors)44异常优先级(异常优先级(Exception Priorities) 45高端向量高端向量一些一些ARM实现允许异常向量的定位由实现允许异常向量的定位由32位地位地址空间低端的正常地址范围址空间低端的正

36、常地址范围Ox00000000Ox000000lC,移到接近于地址空间高端的另一地,移到接近于地址空间高端的另一地址范围址范围0 xFFFF00000 xFFFF00lC。这些改变后的地址位置称为高端向量。这些改变后的地址位置称为高端向量。46异常的进入和退出异常的进入和退出只要正常的程序流程被暂时停止只要正常的程序流程被暂时停止,则异常发生,例如则异常发生,例如服务外部的中断。服务外部的中断。在异常被处理之前,必须保存当前的处理器状态,以在异常被处理之前,必须保存当前的处理器状态,以便当处理程序完成后,原来的程序能重新开始。便当处理程序完成后,原来的程序能重新开始。如果几种异常同时发生,则对

37、它们按固定的次序处理,如果几种异常同时发生,则对它们按固定的次序处理,可参考异常优先级。可参考异常优先级。47当异常产生时,当异常产生时,ARM core:拷贝拷贝CPSR到到SPSR_设置适当的设置适当的CPSR位:位:改变处理器状态进入改变处理器状态进入ARM态态改变处理器模式进入相应的异常模式改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断设置中断禁止位禁止相应中断(如果需要如果需要)保存返回地址到保存返回地址到LR_设置设置PC为相应的异常向量为相应的异常向量48返回时,异常处理需要:返回时,异常处理需要:从从SPSR_恢复恢复CPSR从从LR_恢复恢复PCNote:这些操作

38、只能在:这些操作只能在ARM态执行态执行493.3 XSBase255开发平台介绍开发平台介绍50XSBase255的配件的配件51PXA255处理器结构与特性PXA255除了采用除了采用Xscale内核,还具有以下特点:内核,还具有以下特点: 内核工作频率:内核工作频率:200MHz、300MHz和和400MHz 系统存储器接口系统存储器接口 时钟和电源控制器时钟和电源控制器 DMA控制器控制器 LCD控制器控制器 系统集成模块系统集成模块 串行通信口串行通信口 多媒体通信口多媒体通信口 52XSBase255硬件介绍硬件介绍 53XSBase255硬件介绍硬件介绍54XSBase255 L

39、inux BSP介绍介绍 55XSBase255 Linux光盘内容光盘内容56Xsbase255开发系统-硬件资源硬件资源 项目描述处理器处理器Intel XScale PXA255 400MHzSDRAMSamsung 64MbyteFlashIntel strata flash 32MByte以太网以太网CS8900A 10BaseT声卡声卡AC97 Stereo audio显示显示LG TFT LCD 6.4”( 640 * 480)触摸屏触摸屏ADS7843 touch screenUSB Host2 SlotUSB Slave1 SlotPCMCIA1 Slot实时时钟实时时钟Re

40、al time clock RTC4513 红外红外HDSL3600CF1 SlotMMC1 Slot 57Xsbase255开发系统-硬件资源硬件资源存储器接口主要可以分成存储器接口主要可以分成3类类 :SDRAMq SDRAM有有4块区域块区域静态静态FLASHq 静态存储器有静态存储器有6块块卡存储器卡存储器q 卡存储器有卡存储器有2块。块。 58Xsbase255开发系统-硬件资源硬件资源LCD接口接口 PXA255处理器内置的处理器内置的LCD控制器支持被动控制器支持被动(DSTN)或主动或主动(TFT)模式的显示器,还支持单色或多种的彩色像点格式,模式的显示器,还支持单色或多种的彩

41、色像点格式,支持单屏或双屏显示;被动彩色方式有支持单屏或双屏显示;被动彩色方式有65536种颜色种颜色(使用使用16位位TMED抖动算法抖动算法),主动彩色方式有,主动彩色方式有65536种颜色种颜色(16位,位,绕过调色板绕过调色板),显示可以达到,显示可以达到1024x1024,推荐使用最大值,推荐使用最大值800 x600;内置;内置2个专用个专用DMA通道。通道。Xsbase255系统使用的系统使用的LCD是是6.4TFT 的彩色显示屏,分辨的彩色显示屏,分辨率是率是640 x480。 59Xsbase255开发系统-硬件资源硬件资源 以太网接口以太网接口 Xsbase255开发系统采

42、用开发系统采用Cirrus Logic公司公司CS8900A以太网芯片,是符合以太网芯片,是符合IEEE802.3协议的工协议的工业标准架构总线的一款低成本的以太网芯片。它高业标准架构总线的一款低成本的以太网芯片。它高度集成了一些常用的部件比如:片内的度集成了一些常用的部件比如:片内的RAM、10BASE-T传输和接受过滤器和传输和接受过滤器和ISA总线接口等总线接口等 。60Xsbase255开发系统-硬件资源硬件资源音频接口音频接口 PXA255处理器包含处理器包含AC97控制单元,支持音频控控制单元,支持音频控制器制器(AC-link),能通过串口传输数字音频、调制调,能通过串口传输数字

43、音频、调制调解器、音频输入、控制寄存器和状态信息等。因为解器、音频输入、控制寄存器和状态信息等。因为PXA255处理器内置了处理器内置了AC97控制器,需要外扩一控制器,需要外扩一个音频解码芯片。个音频解码芯片。Xsbase255外扩了外扩了Cirrus Logic CS4299用作音频用作音频解码器。解码器。 61Xsbase255开发系统-硬件资源硬件资源实时时钟实时时钟RTC 当关闭当关闭Xsbase255系统电源,系统电源,RTC4513可以通过可以通过一个电池来保持当前的时间。系统外扩了实时时钟一个电池来保持当前的时间。系统外扩了实时时钟芯片芯片RTC4513和一个纽扣电池组成和一个

44、纽扣电池组成RTC电路电路 。62Xsbase255开发系统-硬件资源硬件资源串口串口 Xsbase开发系统提供开发系统提供1个全功能的个全功能的(FF,Full Function)串口,串口,1个蓝牙串口个蓝牙串口(BT,Bluetooth)和和1个标准个标准UART(红外接口红外接口)。它们使用。它们使用PXA255中的第中的第二功能二功能GPIO引脚。全功能串口支持引脚。全功能串口支持Modem控制功控制功能,其最高波特率为能,其最高波特率为230.4Kb/s;蓝牙串口是一个;蓝牙串口是一个高速高速UART,最高波特率为,最高波特率为921.6Kb/s,可连接蓝,可连接蓝牙模块牙模块 。

45、63Xsbase255开发系统-硬件资源硬件资源USB接口接口 Xsbase255开发系统有开发系统有1个个USB-Client接口和接口和2个个USB-Host接口接口(其中一个是其中一个是mini USB接口接口)。q USB-Client接口作为接口作为USB的从设备,一般与主设备如的从设备,一般与主设备如宿主机连接,用于下载数据和程序,也可以用作宿主机连接,用于下载数据和程序,也可以用作USB网网口来使用。口来使用。USB-Client控制器控制器UDC集成在集成在PXA255处理处理器内部。器内部。q USB-Host接口作为接口作为USB的主设备,用于连接的主设备,用于连接USB外

46、设,外设,例如例如U盘、鼠标、键盘和摄像头等。盘、鼠标、键盘和摄像头等。 64Xsbase255开发系统-硬件资源硬件资源扩展接口扩展接口 1个个PCMCIA接口接口1个个CF卡接口卡接口1个个MMC卡接口卡接口120pin的扩展接口。的扩展接口。 65PCMCIA通常,台式机和服务器等用的网卡均不支持通常,台式机和服务器等用的网卡均不支持PCMCIA标准,标准,PCMCIA是专门用在笔记本或是专门用在笔记本或PDA、数码相机等便携设备上的、数码相机等便携设备上的一种接口规范(总线结构)。也就是笔记本网卡通常都支持一种接口规范(总线结构)。也就是笔记本网卡通常都支持PCMCIA规范,而台式机网卡则不支持此规范。规范,而台式机网卡则不支持此规范。 PCMCIA是英文是英文“PERSONAL COMPUTER MEMORY CARD INT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论