嵌入式ARM教案ppt课件.ppt

上传人:牧羊曲112 文档编号:1685058 上传时间:2022-12-14 格式:PPT 页数:42 大小:805.50KB
返回 下载 相关 举报
嵌入式ARM教案ppt课件.ppt_第1页
第1页 / 共42页
嵌入式ARM教案ppt课件.ppt_第2页
第2页 / 共42页
嵌入式ARM教案ppt课件.ppt_第3页
第3页 / 共42页
嵌入式ARM教案ppt课件.ppt_第4页
第4页 / 共42页
嵌入式ARM教案ppt课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《嵌入式ARM教案ppt课件.ppt》由会员分享,可在线阅读,更多相关《嵌入式ARM教案ppt课件.ppt(42页珍藏版)》请在三一办公上搜索。

1、ARM微处理器概述2010.6.7,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,ARM 简介,成立于1990年11月前身为 Acorn计算机公司Advance RISC Machine的缩写,微处理器行业的知名企业主要设计ARM系列RISC( 精简指令集)处理器内核公司特点是不生产芯片,授权ARM内核给生产和销售半导体的合作伙伴另外也提供基于ARM架构的开发设计技术软件工具, 评估板, 调试工具,应用软件总线架构, 外围设备单元等等291441061,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,ARM 简介,ARM

2、 全球分布,800+ 雇员全球,英国Cambridge, Maidenhead, Sheffield, Blackburn德国Munich法国Paris, Sophia Antipolis韩国Seoul,美国Seattle, Los Gatos, Walnut Creek, Austin, Boston, San Diego中国Taiwan and Shanghai日本Shin-Yokohama (Tokyo),ARM 全球合作伙伴,ARM的应用,ARM嵌入式系统示例-汽车控制系统,嵌入式系统示例汽车控制系统,尾灯控制系统,后车门控制系统,前车门控制系统,座椅控制系统,发动器控制系统,所有的控

3、制系统都是一个完整的嵌入式系统,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,ARM微处理器特点,在复杂指令集计算机中,各种指令的使用频率相差悬殊,大约有20的指令会被反复使用,占整个程序代码的80。而余下的80的指令却不经常使用,在程序设计中只占20,显然,这种结构是不太合理的。 针对上述的不合理性,1979年美国加州大学伯克利分校提出了RISC(Reduced Instruction Set Computer,精简指令集计算机)的概念,RISC并非只是简单地去减少指令,而是把着眼点放在了如何使计算机的结构更加简单合理地提

4、高运算速度上。RISC结构优先选取使用频最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻地方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。,RISC结构特性,ARM微处理器特点,到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具有如下特点:采用固定长度的指令格式,指令归整、简单、基本寻址方式有23种。 使用单周期指令,便于流水线操作执行。 大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/ 存储 指令可以访问存储器,以提高指令的执行效率。 除此以外,ARM体系结构还采用了一些特别的技术,在保证高性能的前提下尽量缩小芯片的面积,

5、并降低功耗: 所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令 的执行效率。 可用加载/存储指令批量传输数据,以提高数据的传输效率。 可在一条数据处理指令中同时完成逻辑处理和移位处理。 在循环处理中使用地址的自动增减来提高运行效率。,RISC结构特性,ARM微处理器特点,1、体积小、低功耗、低成本、高性能;2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定;7、每条数据处理指令可同时包含算术逻辑单元(ALU)的运算和移位处理,

6、 实现ALU和移位器的最大利用;8、使用地址自增和自减的寻址方式优化程序循环;9、装载/保存指令对数据的批量传输,实现最大数据吞吐量;10、大多数指令的条件执行,实现最快速的代码。执.行。,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,ARM处理器内核,ARM公司开发了很多系列的ARM处理器核,目前最新的系列是Cortex,而ARM6核以及更早的系列已经很罕见了。当前应用比较多的ARM处理器核系列有:,ARM处理器内核,ARM Cortex系列简介,基于ARMv7版本的ARM Cortex系列产品由A、R、M三个系列组成,具

7、体分类延续了一直以来ARM面向具体应用设计CPU的思路。,ARM Cortex,常用ARM处理器内核,CortexTM-M3处理器简介,该处理器是首款基于ARMv7-M架构的处理器,采用了纯Thumb2指令的执行方式,具有极高的运算能力和中断响应能力。 Cortex-M3主要应用于汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域。目前最便宜的基于该内核的ARM单片机售价为1美元。,CortexTM-A8处理器简介,该处理器是ARM公司所开发的基于ARMv7架构的首款应用级处理器,其特色是运用了可增加代码密度和加强性能的技术、可支持多媒体以及信号处理能力的NEONTM技术、

8、以及能够支持Java和其他文字代码语言的提前和即时编译的JazelleRTC技术。 众多先进的技术使其适用于家电以及电子行业等各种高端的应用领域。,常用ARM处理器内核,ARM7系列简介,该系列包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。 ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,常用ARM处理器内核,该系列包括ARM9TD

9、MI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。,ARM9系列简介,该系列为含有DSP指令集的综合处理器,包括ARM926EJ-S、带有高速缓存处理器宏单元的ARM966E-S/ARM946E-S。其内核在ARM7处理器内核的基础上使用了Jazelle增强技术,该技术支持一种新的Java操作状态,允许在硬件中执行Java字节码。 ARM9E系列主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。,ARM9E系列简介,常用ARM处理器内

10、核,ARM10E系列简介,该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。,Xscale简介,Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案,支持16位Thumb指令并集成数字信号处理(DSP)指令。 主要应用于手提式通讯和消费电子类设备。,ARM内核发展,SA-110,ARM7TDMI,4T,1,支持Halfword 和signed halfword / byte 和System mode,支持Thumb指

11、令集,2,4,ARM9TDMI,SA-1110,ARM720T,ARM940T,改良的ARM/Thumb 交互作用以及CLZ 指令,5TE,Saturated mathsDSP multiply-accumulate instructions,XScale,ARM1020E,ARM9E-S,ARM966E-S,3,早期的ARMs,ARM9EJ-S,5TEJ,ARM7EJ-S,ARM926EJ-S,Jazelle支持Java字节码,6,ARM11,SIMD,SISIMDMD,S,SIMD,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开

12、发软件,ARM 应用选型,1、ARM微处理器内核的选择根据所用操作系统,选择是否带有MMU(Memory Management Unit)功能的芯片。2、系统的工作频率系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列的典型处理速度为1.1MIPS / MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz。3、芯片内存储器的容量通常片内存储器容量较小,需要外扩,但也有较大内存芯片,如,ATMEL的AT91F40162就具有高达2MB的片内程序存储空间。4

13、、片内外围电路的选择USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,处理器工作模式,ARM 有7个基本工作模式:User:非特权模式,大部分任务执行在这种模式正常程序执行的模式FIQ:当一个高优先级(fast)中断产生时将会进入这种模式高速数据传输和通道处理IRQ:当一个低优先级(normal)中断产生时将会进入这种模式通常的中断

14、处理Supervisor:当复位或软中断指令执行时将会进入这种模式供操作系统使用的一种保护模式Abort: 当存取异常时将会进入这种模式虚拟存储及存储保护Undef: 当执行未定义指令时会进入这种模式软件仿真硬件协处理器System: 使用和User模式相同寄存器集的特权模式特权级的操作系统任务,ARM工作状态,ARM7TDMI处理器内核包含2套指令系统,分别为ARM指令集和Thumb指令,并且各自对应1种处理器的状态:ARM状态:32位,处理器执行字方式的ARM指令,处理器默认为此状态;Thumb状态:16位,处理器执行半字方式的Thumb指令。,注意:两个状态之间的切换并不影响处理器模式或

15、寄存器内容。,ARM 寄存器,ARM 有37个32-Bits长的寄存器1 个用作PC( program counter),R151个用作CPSR(current program status register)5个用作SPSR(saved program status registers)30 个通用寄存器:不分组寄存器(R0-R7),分组寄存器(R8-R14), R8-R12分为两组:FIQ模式和其它模式,R13-R14六组:系统和用户模式,5种异常模式, R13堆栈指针寄存器,R14程序连接寄存器LR当前处理器的模式决定着哪组寄存器可操作. 任何模式都可以存取: 相应的r0-r12子集相应

16、的 r13 (the stack pointer, sp) and r14 (the link register, lr)相应的 r15 ( the program counter, pc)相应的CPSR(current program status register, cpsr)特权模式 (除system模式) 还可以存取;相应的 spsr (saved program status register),寄存器结构概要,Usermoder0-r7,r15,andcpsr,r8,r9,r10,r11,r12,r13 (sp),r14 (lr),spsr,FIQ,User,r13 (sp),r1

17、4 (lr),spsr,IRQ,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,Undef,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,SVC,Usermoder0-r12,r15,andcpsr,r13 (sp),r14 (lr),spsr,Abort,Usermoder0-r12,r15,andcpsr,Thumb stateLow registers,Thumb stateHigh registers,Note: System模式使用user模式寄存器集,ARM 寄存器,程序状态寄

18、存器(CPSR),条件位:N = 1-结果为负,0-结果为正或0Z = 1-结果为0,0-结果不为0C =1-进位,0-借位V =1-结果溢出,0结果没溢出Q 位:仅ARM 5TE/J架构支持指示增强型DSP指令是否溢出J 位仅ARM 5TE/J架构支持J = 1: 处理器处于Jazelle状态,中断禁止位:I = 1: 禁止 IRQ.F = 1: 禁止 FIQ.T Bit仅ARM xT架构支持T = 0: 处理器处于 ARM 状态T = 1: 处理器处于 Thumb 状态Mode位(处理器模式位):0b10000User0b10001FIQ0b10010IRQ0b10011Superviso

19、r0b10111Abort0b11011Undefined0b11111System,当处理器执行在ARM状态:所有指令 32 bits 宽所有指令必须 word 对齐所以 pc值由bits 31:2决定, bits 1:0 未定义 (所以指令不能halfword / byte对齐).当处理器执行在Thumb状态:所有指令 16 bits 宽所有指令必须 halfword 对齐所以 pc值由bits 31:1决定, bits 0 未定义 (所以指令不能 byte对齐).,程序指针PC (r15),Vector Table,异常处理,当异常产生时, ARM core:拷贝 CPSR 到 SPSR

20、_设置适当的 CPSR 位: 改变处理器状态进入 ARM 态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断 (如果需要)保存返回地址到 LR_设置 PC 为相应的异常向量返回时, 异常处理需要:从 SPSR_恢复CPSR从LR_恢复PC Note:这些操作只能在 ARM 态执行.,Vector table can be at 0 xFFFF0000 on ARM720T and on ARM9/10 family devices,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Ins

21、truction,Reset,The ARM 可以用 little/big endian 格式存取数据,r0 = 0 x11223344,STR r0, r1,LDRB r2, r1,r1 = 0 x100,Memory,3 2 1 0,0 1 2 3,Byte Lane,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,11,22,33,44,31,24,23,16,15,8,7,0,00,00,00,44,31,24,23,16,15,8,7,0,00,00,00,1

22、1,Little endian,Big endian,R2 = 0 x44,R2 = 0 x11,字节顺序,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,数据和指令类型,ARM 采用的是32位架构. ARM 约定:字节 : 8 bits半字 :16 bits (2 byte) 字 :32 bits (4 byte)大部分ARM core 提供:ARM 指令集(32-bit) Thumb 指令集(T变种)(16-bit ),ARM 指令集,所有ARM指令均为32-bits长大部分为单周期指令所有指令都可以条件执行采用 Load

23、/Store 架构 数据处理指令: SUB r0,r1,#5;r1-5-r0 ADD r2,r3,r3,LSL #2;R3x4+r3-r2 ANDS r4,r4,#0 x20;r4+0 x20-r4,更新条件码标志位 ADDEQ r5,r5,r6;r5+r6-r5(条件-相等)存储器存取指令: LDR r0,r1,#4;r1+4-r0 STRNEB r2,r3,r4;NE符合-将r2低8位数写到r3+r4内存单元 LDRSH r5,r6,#8! ;r6+8-r5(半字节),r5中高16位设置成该字节的符号位 STMFD sp!,r0,r2-r7,r10;出栈,ARM 跳转分支指令,B PC 3

24、2 Mbyte .BL 保存返回地址到 LR返回时从 LR 恢复 PC对于 non-leaf 函数, LR 必须压栈保存,STMFD sp!,regs,lr:BL func2:LDMFD sp!,regs,pc,func1,func2,:BL func1:,:MOV pc, lr,Thumb指令集,Thumb 是一个 16-bits 指令集优化代码密度 (65% of ARM )提高窄内存操作性能是ARM指令集的一个功能子集ARM / Thumb 转换使用 BX 指令,对于有编译器产生的绝大多数指令: 条件执行不可用 源和目的寄存器相同 只有低端寄存器可用 常量大小受限制 内嵌的桶形移位不可用

25、,主要内容,ARM简介ARM的主要特点常用ARM内核ARM应用选型ARM的工作模式ARM数据和指令格式ARM开发软件,ARM Developer Suite 1.2,ADS1.2是为嵌入式ARM开发而设计的一整套软件开发工具从最初的软件原型到最终优化的ROM代码。ADS1.2发布于2001的12月份支持的主机系统IBM compatible PCs with Windows 95, 98, 2000, ME or NT4Sun workstations with Solaris 2.6, 2.7 or 2.8HP workstations with HPUX 10.20, 11Red Hat

26、Linux 6.2 & 7.1使用FLEXLM管理器,管理它的LICENSE45天的评估版软件第三方工具支持:http:/,使用 Multi-ICE 调试,5线JTAG,被调试的系统可以是最终系统!也可以使用第三方开发调试工具。,Data,Address,Control,BREAKPT,CPU,ARM,Debugger and Multi-ICE server (可以运行在不同的主机上),TAP,EmbeddedICELogic-RT,ARM 实时跟踪,Embedded Trace Macrocell (ETM)实时指令 (PC) 跟踪实时数据访问跟踪包含 ICE功能(trigger & filter logic)MultiTrace Trace Port Analyzer (TPA)更深层次的追踪Trace Debug Tools通过 JTAG/Multi-ICE配置 ETM 跟踪从ETM/MultiTrace接收跟踪信息使用源代码镜像文件得到 ETM跟踪的数据,5,ARMcore,ETM,RAM,ROM,TAPcontroller,Trace,Trigger /Filter,9,13,21 wire Trace Port,5 wire JTAG port,Serial/Ethernet,并口l,主机运行Trace Debug 工具(Add-on for ADS),

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号