[工学]ARM课件_第1页
[工学]ARM课件_第2页
[工学]ARM课件_第3页
[工学]ARM课件_第4页
[工学]ARM课件_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

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

文档简介

1、嵌入式系统设计慨述ARM前奏浙江大学 徐新民T H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L D嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构议程一、嵌入式系统基本概念嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构议程二、嵌入式微处理器分类(1)、嵌入式微控制器嵌入式微控制器的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、总

2、线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。 微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。 微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用M

3、CU和兼容系列。近来Atmel推出的AVR单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。(2)、嵌入式DSP处理器DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。 1982年世界上诞生了首枚DSP芯片。在语音合成和编码解码器中得到了广泛应用。 DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。目前最为广泛应用

4、的嵌入式DSP处理器是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。MPU嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。(3)、嵌入式微处理器(Micro Processor Unit)和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、

5、68000、MIPS、ARM/ StrongARM系列等SoC 就是System on Chip ,SoC嵌入式系统微处理器就是一种电路系统。它结合了许多功能区块,将功能做在一个芯片上,像是ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。(4)、嵌入式片上系统(System On Chip) SoC是追求产品系统最大包容的集成器件, SOC最大的特点是成功实现了软硬件无缝结合,直

6、接在处理器片内嵌入操作系统的代码模块。运用VHDL等硬件描述语言不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。 由于SOC往往是专用的,所以大部分都不为用户所知,如 Philips的Smart XA。Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。SoC嵌入式系统微处理器所具有的其

7、他的好处可以分为下列几点:利用改变内部工作电压,降低芯片功耗。减少芯片对外管脚数,简化制造过程。减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构议程ARM即Advanced RISC Machines的缩写。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州San Jose VLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式机产品,形成英国的

8、计算机教育基础。1990年成立了Advanced RISC Machines Limited。20世纪9年代,ARM32位嵌人式RISC(Reduced Instruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。32位RISC处理器受到青睐,领先的是ARM嵌入式微处理器系列。ARM公司虽然只成立10多年,但在1999年因移动电话火爆市场,其32位RISC处理器占市场份额超过了50%,成为业界龙头老大。2001年初,ARM公司的32位RISC处理器市场占有率超过了75%,引起业界的极大关注。ARM公司是知识产权供应商,是设

9、计公司。ARM公司本身不生产芯片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。三、ARM结构微处理器简介ARM公司商业模式的强大之处在于其价格合理,全世界范围有超过100个合作伙伴-包括半导体工业的著名公司。ARM公司专注于设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准。在所有ARM处理器系列中,ARM7处理器系列应用最广,采用ARM7处理器作为内核生产芯片的公司最多。ARM结构微处理器简介(续)ARM处理器的3大特点如下:小体积、低功耗、成本低、高性能;16位/32位双指令集;全球众多的合作伙

10、伴。当前ARM体系结构的扩充包括:Thumb:16位指令集,用以改善代码密度;DSP:用于DSP应用的算术运算指令集;Jazeller:允许直接执行Java安节码的扩充。ARM处理器系列提供的解决方案包括:在无线、消费电子和图像应用方面的开放平台;存储、自动化、工业和网络应用的嵌入式实时系统;智能卡和SIM卡的安全应用。ARM处理器的特点ARM处理器本身是32位设计,但也配备16位指令集,以允许软件编码为更短的16位指令。与等价的32代码相比,占用的存储器空间节省高达35%,然而保留了32位系统所有的优势。 ARM还提供了两个前沿特性嵌入式ICERT逻辑和嵌入式跟踪宏核系列,用以辅助带深嵌入式

11、处理器核的、高集成的SOC器件的调试。ARM业界领先的跟踪解决方案嵌入式跟踪宏单元(ETM,Embeddeb Trace Macrocell),被设计成驻留在ARM处理器上,用以监控内部总线,并能以核速度无妨碍地跟踪指令和数据的访问。ARM处理器的特点(续)ARM处理器当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10和SecurCore。进一步的产品来自于合作伙伴,例如Intel Xccale微体系结构和StrongARM产品。ARM7、ARM9、ARM9E和ARM10是4个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能、和体积的需求。Secur Core是第

12、5个产品系列,是专门为安全设备而设计的。性能高达1200MIPS(Xscale微体系结构),功耗测量为W/MHz,并且所有体系结构兼容。ARM产品系列处理速度快 ARM是RISC结构的处理器。而且ARM内部集成了多级流水线,比如:ARM7T中使用3级流水线;ARM9中使用5级流水线技术,大大的增加了处理速度;超低功耗 各种档次的ARM的功耗都是同档次其他嵌入式处理器中较低的。处理器的散热问题不用考虑;低电压,微电流供电,这些都无疑为成为便携式设备的最理想的选择应用前景广泛 因为ARM公司不是生产处理器的,它专门为IC制造商提供各种处理器的解决方案。所以,上述在各种处理器中,ARM的使用最广,同

13、时应用前景广阔,开发资源丰富,有利于缩短产品的研发同期。价格低廉 在各种嵌入式处理中,ARM的价格适中,而且使用量大,比较容易够买。嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构议程ARM体系结构的主要特征大量的寄存器,都可用于多种用途;Load-Store体系结构3地址指令(两个源操作数寄存器和结果寄存器独立设定)每条指令都条件执行包含非常强大的多寄存器Load和Store指令能在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作能过协处理器指令集来扩展ARM指令集,包括在编程模式下增加了新的寄存器和数据类型在T

14、humb体系结构中以高密度16位压缩形式表示指令集四、ARM汇编指令ARM有三种类型的数据指令1)数据处理指令:这类指令只能使用和改变寄存器中的值2)数据传送指令:这类指令把存储器中的值拷贝寄存器(Load)或把寄存器的值拷贝到存储器中(Store)3)控制流指令:一般指令在执行时使用存储于连续的存储器地址中的指令。控制流指令使执行切换到不同的地址。切换是永久的或保存返回地址以恢复原来的执行顺序,或者陷入系统代码。1、数据处理指令功能:完成寄存器的数据的算术和逻辑操作典型特征:需要两个操作数,产生单个结果使用原则: 1)所有的操作数是32位宽,或来自寄存器,或在指令中定义的立即数 2)如果有结

15、果,则结果为32位宽,放在一个寄存器中 3)每一个操作数寄存器和结果寄存器都在指令中独立的指定,即使用 3地址模式例:ADD r0,r1,r2; r0=r1+r2ARM数据处理指令一览1)简单的寄存器操作算术操作:ADD、ADC、SUB、SBC、RSB、RSC按位逻辑与:AND、ORR、EOR、BIC寄存器传送操作:MOV、MVN比较操作:CMP、CMN、TST、TEQ2)立即数操作:如ADD r1,r1,#13)寄存器移位操作:LSL、LSR、ASL、ASR、ROR、RRX 例 ADD r3,r2,r1,LSL #34)设置条件码5)乘法:MUL、MLA2、数据传送指令1)单寄存器的Load

16、和Store指令2)多寄存器的Load和Store指令3)单寄存器交换指令3、控制流指令1)转移指令2)子程序返回指令3)监控程序调用指令 AREA HelloW,CODE,READONLY ;声明代码区SWI_WriteC EQU &0 ;输出r0中的字符SWI_Exit EQU &11 ;程序结束 ENTRY ;代码入口START ADR r1,TEXT ;r1-“Hello World”LOOP LDRB r0,r1,#1 ;读取下一字节 CMP r0,#0 ;检查文本终点 SWINE SWI_WriteC ;若非终点,则打印 BNE LOOP ;并返回LOOP SWI SWI_Exit

17、 ;执行结束TEXT = “Hello World”,&0a,&0d,0 END ;程序结束例子嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构议程议程五、ARM JTAG调试几种常用的调试方法指令集模拟器 一种利用PC机端的仿真开发软件模拟调试的方法。驻留监控软件 驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务JTAG仿真器 通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段在线仿真器 使用仿真头代替目标板

18、上的CPU,可以完全仿真ARM芯片的行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发中ARM的JTAG调试结构AngelJTAG宿主机调试器宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议宿主机调试器只发送宏观的命令,比如:程序运行、终止。读些内存、ARM寄存器等通讯的介质可以是串口、并口、以太网、USB等JTAG与AngelJTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。Angel调试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。

19、Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。什么是JTAG?JTAG是Joint Test Action Group的缩写;是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,I/O口等信息,从而达到调试的目的JTAG的典型接口TMS: 测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态TCK :J

20、TAG的时钟信号TDI:数据输入信号TDO :数据输出信号nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)JTAG的状态机(TAP)JTAG链的组成ARM7TDMI的JTAG标准链(1)ARM7TDMI的JTAG标准链(2)Scan Chain 0:包括ARM核的所有的IO和总线的输入输出控制信号Scan Chain 1:包括ARM核的数据总线和一个断点控制信号。通过控制这个条链,可以控制ARM核执行指定的指令。Scan Chain 2:通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、观察点的控制EmbeddedICE的结构ARM7TDM

21、I中断点的设置设置EmbeddedICE的两个watchpoint单元主要包括:地址、数据、控制信号等当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态断点的类型硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到制定的地址时,就进入Debug状态软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态硬件断点和软件断点的优缺点硬件断点:数目受Embedde

22、dICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置嵌入式基本概念嵌入式微处理器分类ARM结构微处理器简介ARM汇编指令初探ARM JTAG调试ARM体系结构(S3C44B0X)议程六、ARM体系结构ARM体系结构的主要特征大量的寄存器,都可用于多种用途;Load-Store体系结构3地址指令(两个源操作数寄存器和结果寄存器独立设定)每条指令都条件执行包含非常强大的多寄存器Load和Store指令能

23、在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作能过协处理器指令集来扩展ARM指令集,包括在编程模式下增加了新的寄存器和数据类型在Thumb体系结构中以高密度16位压缩形式表示指令集Samsung S3C44B0X Samsung S3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件: 8KB Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道

24、PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。S3C44B0X 体系结构用于手持设备和通用嵌入式应用的完整系统;16/32位RISC结构和带ARM7DMI CPU核的功能强大的指令集;Thumb协处理器在保证性能的前提下使代码密度最大;片上ICE中断调试JTAG调试方式328位硬件乘法器; 系统管理支持大/小端模式地址空间:每个Bank32MB(一共256MB);每个Bank支持8/16/32位数据总线编程;固定的Bank起始地址和7个可编程的Bank;1个起始地址和尺寸可编程的Bank;8个内存Bank::个用于ROM、SRAM;2个用于R

25、OM/SRAM/DRAM;所有内存Bank的可编程寻址周期;在能量低的情况下支持DRAM/SDRAM自动刷新模式; 支持DRAM的非对称/对称寻址; 缓冲内存和内部SRAM 4路带8K字节的联合缓存;不使用缓存的0/4/8K内容SRAM伪LRU(最近最少使用)的替代算法;通过在主内存和缓冲区内容之间保持一致的方式写内存;当缓冲区出错时,请求数据填充技术; 时钟和能量管理l 低能耗;l 时钟可以通过软件选择性地反馈回每个功能块l 能量模式: u 正常模式:正常运行模式; u 低能模式:不带PLL的底频时钟; u 休眠模式:只使CPU的时钟停止; u 停止模式:所有时钟都停止;l 用EINT或RT

26、C警告中断从停止模式唤醒中断控制器l30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO;l矢量IRQ中断模式减少中断响应周期;l外部中断源的水平/边缘模式;l可编程的水平/边缘极性;l对紧急中断请求支持FIQ(快速中断请求);带PWM的定时器l 5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器;l 可编程的工作循环,频率和极性l 死区产生l支持外部时钟源实时时钟l全时钟特点:毫秒、秒、分、小时、天、星期、月、年l32.768KHz运行 CPU唤醒的警告中断 时钟记号中断 通用输入输出端口l 8个外部中

27、断端口l 71个多路输入输出口; UARTl2个带DMA和中断的UART;l支持5位,6位,7位,8位串行数据传送/接收;l当传送/接收时支持双向握手l可编程波特率;l支持IrDA1.0(115.2KBPS);l测试的循环返回模式;l每个通道有2个内部32位FIFODMA与A/DDMA控制器l2路通用无需要CPU干涉的DMA控制器;l2路桥式DMA控制器;l采用6种DMA请求的桥式DMA支持IO到内存,内存到IO,IO到 IO:软 件,4个内部功能块(UART,SIO,实时器,IIS),外部管脚;lDMA之间可编程优先级次序;l突发传送模式提高到FPDRAM、EDODRAM和SDRAM的传送率

28、;A/D转换l10位多路ADC;l最大500KSPS/10位;LCD控制器l支持彩色/单色/灰度LCD;l支持单扫描和双扫描显示;l支持虚拟显示功能l系统内存作为显示内存l专用DMA用于从系统内存中提取图象数据;l可编程屏幕尺寸;l灰度:16级l256色看门狗定时器与I2C总线接口l16位看门狗定时器;l 定时中断请求和系统复位;l 1个带中断的多主机I2C总线;l串行,8位,双向数据传送器能够以100KB/S的标准模式和400KB/S的快速模式传送IIS总线接口l 1个I带DMA的音频IS总线接口;l 串行,每路8/16位数据传送器;支持MSB数据格式; SIO(同步串行I/O)l 1个带D

29、MA和中断的SIOl 可编程波特率;支持8位串行数据传送/接收操作 操作电压范围 内核:2.5V;I/O:3.0V到3.6V;运行频率 最高到75MHz;封装 160LQFP/160FBGA;S3C44B0X微处理器体系结构框图S3C44B0X微处理器管脚定义图 基于ARM的嵌入式硬件平台体系结构 S3C44B0X把外部复位信号,也作为一个中断来处理。在系统复位的时候,程序(PC)指针被设置成0,使程序跳转到0 x00000000开始运行。此空间对应的是Bank0。因为在系统的1MB的线性Flash和处理器的Bank0相连接。在线性Flash里存储的是供系统的初始化的程序。此程序负责的配置处理

30、器的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。此程序负责把存储在16MB的非线性处理器里面的system.bin文件复制到0 xc5f0000地址(此地址是系统8MB的SDRAM的首地址)。引导程序把程序(PC)指针指向0 xc000000地址,系统开始运行。system.bin是嵌入式操作系统引导的执行文件。编译以后的操作系统和应用程序就是这个文件。 S3C44B0X存储系统的特征 支持数据存储的大/小端选择(通过外部引脚进行选择)地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256Mb。 对所有存储体的访问大小均可进行改变(8位16位32位)8个存储体中,B

31、ank0Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FPEDOSDRAM等。7个存储体的起始地址固定,1个存储体的起始地址可变。 典型系统中存储体的分配情况存储体与存储体的接口Bank0BIOS 512K2FlashBank116M Flash 硬盘Bank2USB接口Bank3LCD显示模块Bank4保留Bank5保留Bank6系统内存SDRAMBank7保留复位后的S3C44B0X的存储器映射表 使用Bank0上的两片512Kb2来放置系统BIOS,系统上电以后,PC指针自动指向Bank0的第一个单元,开始进行系统自举。系统自举完成以后,便从硬盘中将系统

32、文件和用户应用程序复制到SDRAM内存中执行。 Bank1上接16M非线性Flash,当做系统硬盘使用,可以构造文件系统,存放海量数据。 用SDRAM当作系统内存,只有Bank6/Bank7能支持SDRAM,所以将SDRAM接在Bank6上。如果同时使用Bank6/Bank7,则要求连接相同容量的存储,而且其地址空间在物理上是连续的。Bank0:系统的启动ROM(Flash Rom)。在系统复位的时候,处理器的PC(程序计数器)指针指向0 x0地址。在Bank0的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:1、管理处理器的中断服务程序处理器的中断是从0 x0地址开始,引导ROM负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考44binit.s里面的代码。(这部分代码是三星主页可以提供,它把系统的中断,

温馨提示

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

评论

0/150

提交评论