1、Preface of ARM1嵌入式系统设计慨述嵌入式系统设计慨述ARMARM前奏前奏浙江大学浙江大学 徐新民徐新民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 DPreface of ARM2嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构议程议程Preface of ARM3一、嵌入式系统基本概念一、嵌入式系统基本概念Preface of ARM4Preface of ARM5Pr
2、eface of ARM6Preface of ARM7Preface of ARM8Preface of ARM9Preface of ARM10Preface of ARM11Preface of ARM12Preface of ARM13Preface of ARM14嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构议程议程Preface of ARM15二、二、嵌入式微处理器分类嵌入式微处理器分类Preface of ARM16(1)、嵌入式微控制器)、嵌入
3、式微控制器嵌入式微控制器的典型代表是单片机,这种位嵌入式微控制器的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。应用。单片机芯片内部集成单片机芯片内部集成ROM/EPROM、RAM、总、总线、总线逻辑、定时线、总线逻辑、定时/计数器、看门狗、计数器、看门狗、I/O、串行口、串行口、脉宽调制输出、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。等各种必要功能和外设。Preface of ARM17 微控制器的最大特点是单片化,体积大大减小,从而微控制器的最大特点是单片化,体积大大减小,
4、从而使功耗和成本下降、可靠性提高。使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控片上外设资源一般比较丰富,适合于控制,因此称为微控制器。制器。Preface of ARM18由于由于MCU低廉的价格,优良的功能,所以拥有低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及系列以及 MCU 8XC930/931、C540、
5、C541,并,并且有支持且有支持I2C、CAN-Bus、LCD及众多专用及众多专用MCU和和兼容系列。兼容系列。近来近来Atmel推出的推出的AVR单片机由于其集成了单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。单片机获得更高的发展。Preface of ARM19(2 2)、嵌入式)、嵌入式DSPDSP处理器处理器lDSP处理器是专门用于信号处理方面的处理器,其在系统处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、结构和指令算法方面进行了特殊设计,在数字滤波、FFT、
6、谱分、谱分析等各种仪器上析等各种仪器上DSP获得了大规模的应用。获得了大规模的应用。lDSP的理论算法在的理论算法在70年代就已经出现,但是由于专门的年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过处理器还未出现,所以这种理论算法只能通过MPU等由分等由分立元件实现。立元件实现。1982年世界上诞生了首枚年世界上诞生了首枚DSP芯片。在语音合成芯片。在语音合成和编码解码器中得到了广泛应用。和编码解码器中得到了广泛应用。DSP的运算速度进一步提高的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。,应用领域也从上述范围扩大到了通信和计算机方面。l目前最
7、为广泛应用的嵌入式目前最为广泛应用的嵌入式DSP处理器是处理器是TI的的TMS320C2000/C5000系列,另外如系列,另外如Intel的的MCS-296和和Siemens的的TriCore也有各自的应用范围。也有各自的应用范围。Preface of ARM20MPU嵌入式微处理器是由通用计算机中的嵌入式微处理器是由通用计算机中的CPU演变演变而来的。而来的。与计算机处理器不同的是,在实际嵌入式应用中,与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式冗
8、余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。应用的特殊要求。(3 3)、嵌入式微处理器()、嵌入式微处理器(Micro Processor Unit)Micro Processor Unit)Preface of ARM21和工业控制计算机相比,嵌入式微处理器具有体积和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/StrongARM系列等系列等Preface of
9、 ARM22SoC 就是就是System on Chip,SoC嵌入式系统微处理器就是一种电路系统。嵌入式系统微处理器就是一种电路系统。它结合了许多功能区块,将功能做在一个芯片上,像它结合了许多功能区块,将功能做在一个芯片上,像是是ARM RISC、MIPS RISC、DSP或是其他的微处理器核或是其他的微处理器核心,加上通信的接口单元,像是通用串行端口(心,加上通信的接口单元,像是通用串行端口(USB)、)、TCP/IP通信单元、通信单元、GPRS通信接口、通信接口、GSM通信接口、通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依照各、蓝牙模块接口等等,这些单元以往都是依照各
10、单元的功能做成一个个独立的处理芯片。单元的功能做成一个个独立的处理芯片。(4 4)、嵌入式片上系统)、嵌入式片上系统(System On Chip(System On Chip)Preface of ARM23SoC是追求产品系统最大包容的集成器件,是追求产品系统最大包容的集成器件,SOC最大的特点是成功实现了软硬件无缝结合,最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。直接在处理器片内嵌入操作系统的代码模块。运用运用VHDL等硬件描述语言不需要再像传统的等硬件描述语言不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点系统设计一样,绘制庞大复杂的电路板,
11、一点点的连接焊制,只需要使用精确的语言,综合时序的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进,然后通过仿真之后就可以直接交付芯片厂商进行生产。行生产。Preface of ARM24由于由于SOC往往是专用的,所以大部分都不为用户往往是专用的,所以大部分都不为用户所知,如所知,如 Philips的的Smart XA。Siemens的的TriCore,Motorola的的M-Core,某些,某些ARM系列器件,系列器件,Echelon和和Motorola联合研制的联合研制的
12、Neuron芯片等。芯片等。SOC芯片也将在声音、图像、影视、网络及系统芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。逻辑等应用领域中发挥重要作用。Preface of ARM25SoC嵌入式系统微处理器所具有的其他的好处可以嵌入式系统微处理器所具有的其他的好处可以分为下列几点:分为下列几点:l利用改变内部工作电压,降低芯片功耗。利用改变内部工作电压,降低芯片功耗。l减少芯片对外管脚数,简化制造过程。减少芯片对外管脚数,简化制造过程。l减少外围驱动接口单元及电路板之间的信号传递,减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度。可以加快微处理器数
13、据处理的速度。l内嵌的线路可以避免外部电路板在信号传递时所造内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。成系统杂讯。Preface of ARM26嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构议程议程Preface of ARM27lARM即即Advanced RISC Machines的缩写。的缩写。l1985年年4月月26日,第一个日,第一个ARM原型在英国剑桥的原型在英国剑桥的Acorn计算机有限公计算机有限公司诞生,由美国加州司诞生,由美国加
14、州San Jose VLSI技术公司制造。技术公司制造。l20世纪世纪80年代后期,年代后期,ARM很快开发成很快开发成Acorn的台式机产品,形成英国的台式机产品,形成英国的计算机教育基础。的计算机教育基础。l1990年成立了年成立了Advanced RISC Machines Limited。l20世纪世纪9年代,年代,ARM32位嵌人式位嵌人式RISC(Reduced Instruction Set Computer)处理器扩展到世界范围,占据了低功耗、低成本和高性能的)处理器扩展到世界范围,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。嵌入式系统应用领域的领先地位。l32
15、位位RISC处理器受到青睐,领先的是处理器受到青睐,领先的是ARM嵌入式微处理器系列。嵌入式微处理器系列。lARM公司虽然只成立公司虽然只成立10多年,但在多年,但在1999年因移动电话火爆市场,其年因移动电话火爆市场,其32位位RISC处理器占市场份额超过了处理器占市场份额超过了50%,成为业界龙头老大。,成为业界龙头老大。2001年初,年初,ARM公司的公司的32位位RISC处理器市场占有率超过了处理器市场占有率超过了75%,引起业界的极大关,引起业界的极大关注。注。ARM公司是知识产权供应商,是设计公司。公司是知识产权供应商,是设计公司。ARM公司本身不生产芯公司本身不生产芯片,靠转让设
16、计许可,由合作伙伴公司来生产各具特色的芯片。片,靠转让设计许可,由合作伙伴公司来生产各具特色的芯片。三三、ARMARM结构微处理器简介结构微处理器简介Preface of ARM28lARM公司商业模式的强大之处在于其价格合理,全世界范围有公司商业模式的强大之处在于其价格合理,全世界范围有超过超过100个合作伙伴个合作伙伴-包括半导体工业的著名公司。包括半导体工业的著名公司。ARM公司专注于公司专注于设计,其内核耗电少、成本低、功能强,特有设计,其内核耗电少、成本低、功能强,特有16/32位双指令集。位双指令集。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方已成为移动通信、手持计
17、算、多媒体数字消费等嵌入式解决方案的案的RISC标准标准。l在所有在所有ARM处理器系列中,处理器系列中,ARM7处理器系列应用最广,采用处理器系列应用最广,采用ARM7处理器作为内核生产芯片的公司最多处理器作为内核生产芯片的公司最多。ARMARM结构微处理器简介结构微处理器简介(续续)Preface of ARM29ARM处理器的处理器的3大特点如下:大特点如下:l小体积、低功耗、成本低、高性能;小体积、低功耗、成本低、高性能;l16位位/32位双指令集;位双指令集;l全球众多的合作伙伴。全球众多的合作伙伴。当前当前ARM体系结构的扩充包括:体系结构的扩充包括:lThumb:16位指令集,用
18、以改善代码密度;位指令集,用以改善代码密度;lDSP:用于:用于DSP应用的算术运算指令集;应用的算术运算指令集;lJazeller:允许直接执行:允许直接执行Java安节码的扩充。安节码的扩充。ARM处理器系列提供的解决方案包括:处理器系列提供的解决方案包括:l在无线、消费电子和图像应用方面的开放平台;在无线、消费电子和图像应用方面的开放平台;l存储、自动化、工业和网络应用的嵌入式实时系统;存储、自动化、工业和网络应用的嵌入式实时系统;l智能卡和智能卡和SIM卡的安全应用。卡的安全应用。ARMARM处理器的特点处理器的特点Preface of ARM30ARM处理器本身是处理器本身是32位设
19、计,但也配备位设计,但也配备16位指令集,以允许位指令集,以允许软件编码为更短的软件编码为更短的16位指令。与等价的位指令。与等价的32代码相比,占用的存储器代码相比,占用的存储器空间节省高达空间节省高达35%,然而保留了,然而保留了32位系统所有的优势。位系统所有的优势。ARM还提供了两个前沿特性还提供了两个前沿特性嵌入式嵌入式ICERT逻辑和嵌入逻辑和嵌入式跟踪宏核系列,用以辅助带深嵌入式处理器核的、高集成的式跟踪宏核系列,用以辅助带深嵌入式处理器核的、高集成的SOC器件的调试。器件的调试。ARM业界领先的跟踪解决方案业界领先的跟踪解决方案嵌入式跟踪宏单元(嵌入式跟踪宏单元(ETM,Emb
20、eddeb Trace Macrocell),被设计成驻留在),被设计成驻留在ARM处理处理器上,用以监控内部总线,并能以核速度无妨碍地跟踪指令和数据器上,用以监控内部总线,并能以核速度无妨碍地跟踪指令和数据的访问。的访问。ARMARM处理器的特点处理器的特点(续续)Preface of ARM31ARM处理器当前有处理器当前有5个产品系列:个产品系列:ARM7、ARM9、ARM9E、ARM10和和SecurCore。进一步的产品来自于合作伙伴,例如。进一步的产品来自于合作伙伴,例如Intel Xccale微体系结构和微体系结构和StrongARM产品。产品。ARM7、ARM9、ARM9E和和
21、ARM10是是4个通用处理器系列。每个通用处理器系列。每个系列提供一套特定的性能来满足设计者对功耗、性能、和体积的需个系列提供一套特定的性能来满足设计者对功耗、性能、和体积的需求。求。Secur Core是第是第5个产品系列,是专门为安全设备而设计的。性个产品系列,是专门为安全设备而设计的。性能高达能高达1200MIPS(Xscale微体系结构),功耗测量为微体系结构),功耗测量为W/MHz,并,并且所有体系结构兼容。且所有体系结构兼容。ARMARM产品系列产品系列Preface of ARM32u处理速度快处理速度快 ARMARM是是RISCRISC结构的处理器。而且结构的处理器。而且ARM
22、ARM内部集成了多级流水线,比内部集成了多级流水线,比如:如:ARM7TARM7T中使用中使用3 3级流水线;级流水线;ARM9ARM9中使用中使用5 5级流水线技术,大大的级流水线技术,大大的增加了处理速度;增加了处理速度;u超低功耗低功耗 各种档次的各种档次的ARMARM的功耗都是同档次其他嵌入式处理器中较低的。的功耗都是同档次其他嵌入式处理器中较低的。处理器的散热问题不用考虑;低电压,微电流供电,这些都无疑处理器的散热问题不用考虑;低电压,微电流供电,这些都无疑为成为便携式设备的最理想的选择为成为便携式设备的最理想的选择u应用前景广泛应用前景广泛 因为因为ARMARM公司不是生产处理器的
23、,它专门为公司不是生产处理器的,它专门为ICIC制造商提供各种处制造商提供各种处理器的解决方案。所以,上述在各种处理器中,理器的解决方案。所以,上述在各种处理器中,ARMARM的使用最广,的使用最广,同时应用前景广阔,开发资源丰富,有利于缩短产品的研发同期。同时应用前景广阔,开发资源丰富,有利于缩短产品的研发同期。u价格低廉价格低廉 在各种嵌入式处理中,在各种嵌入式处理中,ARMARM的价格适中,而且使用量大,比较容的价格适中,而且使用量大,比较容易够买。易够买。Preface of ARM33嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简
24、介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构议程议程Preface of ARM34ARM体系结构的主要特征体系结构的主要特征大量的寄存器,都可用于多种用途;大量的寄存器,都可用于多种用途;Load-Store体系结构体系结构3地址指令(两个源操作数寄存器和结果寄存器独立设定)地址指令(两个源操作数寄存器和结果寄存器独立设定)每条指令都条件执行包含非常强大的多寄存器每条指令都条件执行包含非常强大的多寄存器Load和和Store指令指令能在单时钟周期执行的单条指令内完成一项普通的移位操作和一能在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的项普通的
25、ALU操作操作能过协处理器指令集来扩展能过协处理器指令集来扩展ARM指令集,包括在编程模式下增加指令集,包括在编程模式下增加了新的寄存器和数据类型了新的寄存器和数据类型在在Thumb体系结构中以高密度体系结构中以高密度16位压缩形式表示指令集位压缩形式表示指令集四、四、ARM汇编指令汇编指令Preface of ARM35ARM有三种类型的数据指令有三种类型的数据指令1)数据处理指令:这类指令只能使用和改变寄存器中的值)数据处理指令:这类指令只能使用和改变寄存器中的值2)数据传送指令:这类指令把存储器中的值拷贝寄存器()数据传送指令:这类指令把存储器中的值拷贝寄存器(Load)或把寄存器的值拷
26、贝到存储器中(或把寄存器的值拷贝到存储器中(Store)3)控制流指令:一般指令在执行时使用存储于连续的存储器地址中)控制流指令:一般指令在执行时使用存储于连续的存储器地址中的指令。控制流指令使执行切换到不同的地址。切换是永久的或的指令。控制流指令使执行切换到不同的地址。切换是永久的或保存返回地址以恢复原来的执行顺序,或者陷入系统代码。保存返回地址以恢复原来的执行顺序,或者陷入系统代码。Preface of ARM361、数据处理指令、数据处理指令l功能:完成寄存器的数据的算术和逻辑操作功能:完成寄存器的数据的算术和逻辑操作l典型特征:需要两个操作数,产生单个结果典型特征:需要两个操作数,产生
27、单个结果l使用原则:使用原则:1)所有的操作数是)所有的操作数是32位宽,或来自寄存器,或在指令中定义的立即数位宽,或来自寄存器,或在指令中定义的立即数 2)如果有结果,则结果为)如果有结果,则结果为32位宽,放在一个寄存器中位宽,放在一个寄存器中 3)每一个操作数寄存器和结果寄存器都在指令中独立的指定,即使用)每一个操作数寄存器和结果寄存器都在指令中独立的指定,即使用 3地址模式地址模式例:例:ADD r0,r1,r2;r0=r1+r2Preface of ARM37ARM数据处理指令一览数据处理指令一览1)简单的寄存器操作)简单的寄存器操作l算术操作:算术操作:ADD、ADC、SUB、SB
28、C、RSB、RSCl按位逻辑与:按位逻辑与:AND、ORR、EOR、BICl寄存器传送操作:寄存器传送操作:MOV、MVNl比较操作:比较操作:CMP、CMN、TST、TEQ2)立即数操作:如)立即数操作:如ADD r1,r1,#13)寄存器移位操作:)寄存器移位操作:LSL、LSR、ASL、ASR、ROR、RRX 例例 ADD r3,r2,r1,LSL#34)设置条件码)设置条件码5)乘法:)乘法:MUL、MLAPreface of ARM382、数据传送指令、数据传送指令1)单寄存器的)单寄存器的Load和和Store指令指令2)多寄存器的)多寄存器的Load和和Store指令指令3)单寄
29、存器交换指令)单寄存器交换指令Preface of ARM393、控制流指令、控制流指令1)转移指令)转移指令2)子程序返回指令)子程序返回指令3)监控程序调用指令)监控程序调用指令Preface of ARM40 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 ;检查
30、文本终点;检查文本终点 SWINE SWI_WriteC ;若非终点,则打印;若非终点,则打印 BNE LOOP ;并返回;并返回LOOP SWI SWI_Exit ;执行结束;执行结束TEXT =“Hello World”,&0a,&0d,0 END ;程序结束;程序结束例子例子Preface of ARM41嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构议程议程议程议程Preface of ARM42五、五、ARM JTAG调试调试Preface of ARM
31、43几种常用的调试方法几种常用的调试方法l指令集模拟器指令集模拟器 一种利用一种利用PC机端的仿真开发软件模拟调试的方法。机端的仿真开发软件模拟调试的方法。l驻留监控软件驻留监控软件 驻留监控程序运行在目标板上,驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务点设置等任务lJTAG仿真器仿真器 通过通过ARM芯片的芯片的JTAG边界扫描口与边界扫描口与ARM核进行通信,不占用目核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段标
32、板的资源,是目前使用最广泛的调试手段l在线仿真器在线仿真器 使用仿真头代替目标板上的使用仿真头代替目标板上的CPU,可以完全仿真,可以完全仿真ARM芯片的行为芯片的行为。但结构较复杂,价格昂贵,通常用于。但结构较复杂,价格昂贵,通常用于ARM硬件开发中硬件开发中Preface of ARM44ARM的的JTAG调试结构调试结构AngelJTAGPreface of ARM45宿主机调试器宿主机调试器l宿主机调试器通过固定的协议控制下位机(协议转换器)。宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,比如,SDT中通过中通过Angel协议或者第三方调试器所提供的协协议或者第三方调试器所
33、提供的协议议l宿主机调试器只发送宏观的命令,比如:宿主机调试器只发送宏观的命令,比如:程序运行、终止。读些内存、程序运行、终止。读些内存、ARM寄存器等寄存器等l通讯的介质可以是串口、并口、以太网、通讯的介质可以是串口、并口、以太网、USB等等Preface of ARM46JTAG与与AngellJTAG调试:协议转换器解释上位机传送过来的命令,调试:协议转换器解释上位机传送过来的命令,通过通过JTAG控制控制ARM执行。执行。lAngel调试:协议转换器可以直接做为目标板的调试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调的一部分。直接执行从宿主机传
34、送过来的调试命令;并回送相应的数据。试命令;并回送相应的数据。lAngel可以节省专门的可以节省专门的JTAG仿真器,但是,它需要软仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而时仿真。而JTAG仿真是通过硬件和控制仿真是通过硬件和控制ARM的的EmbeddedICE实现的,可以做到实时仿真。实现的,可以做到实时仿真。Preface of ARM47什么是什么是JTAG?lJTAG是是Joint Test Action Group的缩写;的缩写;是是IEEE1149.1标准标准lJTAG的建立使得集成电路固定在的建立
35、使得集成电路固定在PCB上,只通过边界上,只通过边界扫描便可以被测试扫描便可以被测试l在在ARM7TDMI处理器中,可以通过处理器中,可以通过JTAG直接控制直接控制ARM的内部总线,的内部总线,I/O口等信息,从而达到调试的目的口等信息,从而达到调试的目的Preface of ARM48JTAG的典型接口的典型接口lTMS:测试模式选择(测试模式选择(Test Mode Select),通过),通过TMS信号控制信号控制JTAG状态机的状态状态机的状态lTCK:JTAG的时钟信号的时钟信号lTDI:数据输入信号:数据输入信号lTDO:数据输出信号:数据输出信号lnTRST:JTAG复位信号,
36、复位复位信号,复位JTAG的状态机和内部的状态机和内部的宏单元的宏单元(Macrocell)Preface of ARM49JTAG的状态机(的状态机(TAP)Preface of ARM50JTAG链的组成链的组成Preface of ARM51ARM7TDMI的的JTAG标准链(标准链(1)Preface of ARM52ARM7TDMI的的JTAG标准链(标准链(2)lScan Chain 0:包括:包括ARM核的所有的核的所有的IO和总线的输入输出控制信和总线的输入输出控制信号号lScan Chain 1:包括:包括ARM核的数据总线和一个断点控制信号。通核的数据总线和一个断点控制信号
37、。通过控制这个条链,可以控制过控制这个条链,可以控制ARM核执行指定的指令。核执行指定的指令。lScan Chain 2:通过控制:通过控制EmbeddedICE宏单元,实现对宏单元,实现对ARM执执行指令的断点、观察点的控制行指令的断点、观察点的控制Preface of ARM53EmbeddedICE的结构的结构Preface of ARM54ARM7TDMI中断点的设置中断点的设置l设置设置EmbeddedICE的两个的两个watchpoint单元单元主要包括:地址、数据、控制信号等主要包括:地址、数据、控制信号等l当一个(或者两个)当一个(或者两个)watchpoint中的地址(也可以
38、包中的地址(也可以包括数据)和括数据)和ARM所执行的当前的指令相同的时候,所执行的当前的指令相同的时候,ARM就从运行状态进入就从运行状态进入Debug状态状态Preface of ARM55断点的类型断点的类型l硬件断点:在硬件断点:在ARM中直接设定中直接设定watchpoint中的地址,中的地址,当当ARM运行到制定的地址时,就进入运行到制定的地址时,就进入Debug状态状态l软件断点:改变存储器中的软件断点:改变存储器中的ARM指令为一个特殊的数指令为一个特殊的数据据X(ARM的未定义指令),同时,设置的未定义指令),同时,设置watchpoint中的断点数据也为中的断点数据也为X,
39、当,当ARM把把X数据作为指令读入的数据作为指令读入的时候,时候,ARM就进入就进入Debug状态状态Preface of ARM56硬件断点和软件断点的优缺点硬件断点和软件断点的优缺点l硬件断点:数目受硬件断点:数目受EmbeddedICE中的中的Watchpoint数数目的限制;但是,可以在任何地方设置断点目的限制;但是,可以在任何地方设置断点l软件断点:数目不受限制,但是,软件断点是通过替换软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:可写的存储器的地址中设置
40、(比如:RAM),而不能),而不能在在ROM(比如:(比如:Flash)中设置)中设置Preface of ARM57嵌入式基本概念嵌入式基本概念嵌入式微处理器分类嵌入式微处理器分类ARM结构微处理器简介结构微处理器简介ARM汇编指令初探汇编指令初探ARM JTAG调试调试ARM体系结构体系结构(S3C44B0X)议程议程Preface of ARM58六六、ARMARM体系结构体系结构ARM体系结构的主要特征体系结构的主要特征大量的寄存器,都可用于多种用途;大量的寄存器,都可用于多种用途;Load-Store体系结构体系结构3地址指令(两个源操作数寄存器和结果寄存器独立设定)地址指令(两个源
41、操作数寄存器和结果寄存器独立设定)每条指令都条件执行包含非常强大的多寄存器每条指令都条件执行包含非常强大的多寄存器Load和和Store指令指令能在单时钟周期执行的单条指令内完成一项普通的移位操作和一能在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的项普通的ALU操作操作能过协处理器指令集来扩展能过协处理器指令集来扩展ARM指令集,包括在编程模式下增加指令集,包括在编程模式下增加了新的寄存器和数据类型了新的寄存器和数据类型在在Thumb体系结构中以高密度体系结构中以高密度16位压缩形式表示指令集位压缩形式表示指令集Preface of ARM59Samsung S3C44B0Xl
42、 Samsung S3C44B0X微处理器是三星公司专为手持设备和一微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在核,工作在66MHZ。为了降低系统总成本和减少外。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:围器件,这款芯片中还集成了下列部件:8KB Cache、外部存储器控制器、外部存储器控制器、LCD控制器、控制器、4个个DMA通通道、道、2通道通道UART、1个多主个多主I2C总线控制器、总线控制器、1个个IIS总线控制器,总线控制器,5通道通道PW
43、M定时器及一个内部定时器定时器及一个内部定时器、71个通用个通用I/O口、口、8个外部中个外部中断源、实时时钟、断源、实时时钟、8通道通道10位位ADC等。等。Preface of ARM60S3C44B0X S3C44B0X 体系结构体系结构l用于手持设备和通用嵌入式应用的完整系统;用于手持设备和通用嵌入式应用的完整系统;l16/32位位RISC结构和带结构和带ARM7DMI CPU核的功能强核的功能强大的指令集;大的指令集;lThumb协处理器在保证性能的前提下使代码密度最协处理器在保证性能的前提下使代码密度最大;大;l片上片上ICE中断调试中断调试JTAG调试方式调试方式l32 8位硬件
44、乘法器;位硬件乘法器;Preface of ARM61系统管理系统管理l支持大支持大/小端模式小端模式l地址空间:每个地址空间:每个Bank32MB(一共(一共256MB););l每个每个Bank支持支持8/16/32位数据总线编程;位数据总线编程;l固定的固定的Bank起始地址和起始地址和7个可编程个可编程的的Bank;l1个起始地址和尺寸可编程的个起始地址和尺寸可编程的Bank;l8 个 内 存个 内 存 B a n k::个 用 于:个 用 于 R O M、S R A M;2 个 用 于个 用 于ROM/SRAM/DRAM;l所有内存所有内存Bank的可编程寻址周期;的可编程寻址周期;l
45、在能量低的情况下支持在能量低的情况下支持DRAM/SDRAM自动刷新模式;自动刷新模式;l 支持支持DRAM的非对称的非对称/对称寻址;对称寻址;Preface of ARM62l缓冲内存和内部缓冲内存和内部SRAMl 4路带路带8K字节的联合缓存;字节的联合缓存;l不使用缓存不使用缓存的的0/4/8K内容内容SRAMl伪伪LRU(最近最少使用)的替代算法;(最近最少使用)的替代算法;l通过在主内存和缓冲区内容之间保持一致的方式写内存;通过在主内存和缓冲区内容之间保持一致的方式写内存;l当缓冲区出错时,请求数据填充技术;当缓冲区出错时,请求数据填充技术;Preface of ARM63时钟和能
46、量管理时钟和能量管理l l 低能耗;低能耗;l l 时钟可以通过软件选择性地反馈回每个功能块时钟可以通过软件选择性地反馈回每个功能块l l 能量模式:能量模式:uu 正常模式:正常运行模式;正常模式:正常运行模式;uu 低能模式:不带低能模式:不带PLL的底频时钟;的底频时钟;uu 休眠模式:只使休眠模式:只使CPU的时钟停止;的时钟停止;uu 停止模式:所有时钟都停止;停止模式:所有时钟都停止;l l 用用EINT或或RTC警告中断从停止模式唤醒警告中断从停止模式唤醒Preface of ARM64中断控制器中断控制器l l30个中断源(看门狗定时器,个中断源(看门狗定时器,6个定时器,个定
47、时器,6个个UART,8个外部个外部中断,中断,4个个DMA,2个个RTC,1个个ADC,1个个I2C,1个个SIO;l l矢量矢量IRQ中断模式减少中断响应周期;中断模式减少中断响应周期;l l外部中断源的水平外部中断源的水平/边缘模式;边缘模式;l l可编程的水平可编程的水平/边缘极性;边缘极性;l l对紧急中断请求支持对紧急中断请求支持FIQ(快速中断请求);(快速中断请求);Preface of ARM65带带PWMPWM的定时器的定时器l l 5个个16位带位带PWM的定时器的定时器/1个个16位基于位基于DMA或基于中断的或基于中断的定时器;定时器;l l 可编程的工作循环,频率和
48、极性可编程的工作循环,频率和极性l l 死区产生死区产生l l 支持外部时钟源支持外部时钟源Preface of ARM66实时时钟实时时钟l l全时钟特点:毫秒、秒、分、小时、天、星期、月、年全时钟特点:毫秒、秒、分、小时、天、星期、月、年l l32.768KHz运行运行 CPU唤醒的警告中断唤醒的警告中断 时钟记号中断时钟记号中断 Preface of ARM67通用输入输出端口通用输入输出端口l l 8个外部中断端口个外部中断端口l l 71个多路输入输出口;个多路输入输出口;UARTl l2个带个带DMA和中断的和中断的UART;l l支持支持5位,位,6位,位,7位,位,8位串行数据
49、传送位串行数据传送/接收;接收;l l当传送当传送/接收时支持双向握手接收时支持双向握手l l可编程波特率;可编程波特率;l l 支持支持IrDA1.0(115.2KBPS););l l测试的循环返回模式;测试的循环返回模式;l l每个通道有每个通道有2个内部个内部32位位FIFOPreface of ARM68DMA与与A/DDMA控制器控制器l l 2路通用无需要路通用无需要CPU干涉的干涉的DMA控制器;控制器;l l2路桥式路桥式DMA控制器;控制器;l l采用采用6种种DMA请求的桥式请求的桥式DMA支持支持IO到内存到内存,内存到内存到IO,IO到到 IO:软:软 件,件,4个内部
50、功能块(个内部功能块(UART,SIO,实时器,实时器,IIS),外部管脚;),外部管脚;l lDMA之间可编程优先级次序;之间可编程优先级次序;l l突发传送模式提高到突发传送模式提高到FPDRAM、EDODRAM和和SDRAM的传送率;的传送率;A/D转换转换l l10位多路位多路ADC;l l最大最大500KSPS/10位;位;Preface of ARM69LCD控制器控制器l l支持彩色支持彩色/单色单色/灰度灰度LCD;l l支持单扫描和双扫描显示;支持单扫描和双扫描显示;l l支持虚拟显示功能支持虚拟显示功能l l 系统内存作为显示内存系统内存作为显示内存l l专用专用DMA用于