《ARM体系结构2635.pptx》由会员分享,可在线阅读,更多相关《ARM体系结构2635.pptx(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 本讲培训目标本讲培训目标n对对ARM处理器相关产品有整体上的了解处理器相关产品有整体上的了解n了解选择了解选择ARM处理器的选择依据处理器的选择依据n了解了解ARM处理器的编程模型处理器的编程模型n了解了解ARM处理器的指令系统处理器的指令系统1微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 课程内容课程内容第一章第一章 ARM处理器介绍处理器介绍第二章第二章 ARM处理器选择依据处理器选择依据第三章第三章 ARM处理器编程模型处理器编程模型第四章第四章 ARM处理器指令系统处理器指令系统2微迪培训中心深圳市微迪软件技术有
2、限公司深圳市微迪软件技术有限公司 ARM公司简介lARM(Advanced RISC machines)公司是全球领先的16/32位微处理器知识产权设计供应商。1990年正式成立。lARM 公司作为32位处理器内核的提供者,拥有100多家半导体合作伙伴。3微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM公司简介4微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第一章第一章ARM处理器介绍处理器介绍5微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM简介nARM是一个CPU核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通
3、过出售芯片技术授权,收取授权费与技术转让费n这种商业模式导致ARM公司专注于arm core 技术的设计。n价格合理,过去没有32位cpu研发能力的半导体公司进入这一行列。6微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM简介nARM首先在移动计算领域获得盛誉,目前基于ARM的SOC芯片在手持产品,多媒体消费产品,中底端网络设备广泛应用。nARM体系性价比高,功耗低,获得了众多知名芯片厂家的支持和授权。如 Samsung,Atmel,Intel,Motorola,TI,Qualcomm,Conexant,CirrusLogic,SONY,LSI,LinkUp.7微迪培训
4、中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 供应商供应商芯片芯片1芯片芯片2芯片芯片3芯片芯片4主要应用主要应用IntelSA-110SA-1100SA-1110IXP1200PalmPC,NetworkTITMS320DSC21TMS320DSC24TMS320DSC25OMAP1510DigitalCameraSamsungS3C44B0XS3C2410S3C4510S5N8946ADSL,PDAMotorolaDragonballMX1BT,PDAPhilipsSAA7750VWS22100VCS94250VWS26001MP3,GSM,3G,BTCirrusLogicEP
5、7209EP7212EP7312EP9312GP,MP3ATMELAT91R40XXXAT75C310AT76C901AT76C502GP,Wireless主要ARM芯片供应商及其代表性产品和主要应用领域8微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM简介nARM功能强大,完善的开发工具支持,因此越来越受到国内工程师的欢迎。n目前国内流行的ARM处理器应用主要基于ARM7TDMI内核。-s3c4510/44b0-at91408009微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 嵌入式产品处理器目8bit单片机主要问题是:n外围扩充代码/数据空间困难
6、。nmips值低,无法快速实现协议处理功能,外接ethernet/上tcp/ip协议困难,无法完成视频音频处理10微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 其他嵌入式处理器介绍nX86系列nMotolora系列nMIPS系列nSH/HP-RISC等系列11微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 X86系列nCPU性能价格比良好n开发简单,软件兼容性好。n软件资源丰富n开发平台简单n目前有大量工控104板,CPCI板可使用,方便二次开发。12微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 X86系列cpuIntel公司ninte
7、l嵌入式x86系列:186series,386ex,486dx.I960nAMD嵌入式x86系列:186/188em/es/cc.Elan520.nNS系列:Geode GX,GXLV,GXM 13微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 Motorola系列处理器nMotorola系列处理器n68k/DragonballnCpu32nColdfirenPPC8xxnPPC82xx14微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 Motorola系列处理器n开发工具完备,技术支持力量强大n高端通信市场主要芯片供应商n抗干扰,军品指标n产品线完备15微
8、迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 其他系列内核SH3 core:HP-RISC core:MIPS core:有多款机顶盒/视频SOC产品使用ST7.16微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM系列处理器nARM系列内核的优势n低价格n低功耗n高处理能力。n另外具有Thumb,DSP,jazeller功能扩展n支持厂家多,资源重用性好。17微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM系列处理器n主流ARM内核:nARM7/TDMI 720TnARM9/ARM9EnARM10nSecurcore nStro
9、ngARM/Xscale18微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM系列处理器nATMEL公司arm系列nAT91系列 目标替代单片机,单纯CPU核。nAT75/76系列:内置arm7/DSP双内核,有Arm+2DSP/ARM+DSP+MAC,两种配置,加上PHY就可实现voip终端 19微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM系列处理器nCirrus logic公司机顶盒/mp3/IA等专用SOC,有数模混合和视频/音频处理优势。nEP7211nEP7212 nEP7209 nEP9312 20微迪培训中心深圳市微迪软件技术有限
10、公司深圳市微迪软件技术有限公司 ARM系列处理器nNetScillon公司ARM+NET系列芯片,关注设备上网(嵌入式internet)解决方案。nSamsung:Arm系列SOC芯片,4510/44b0/2410集成度高,关注网络/移动存储/mp3/pda应用。nMotolora:龙珠MX1,使用了arm9内核.21微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第二章第二章ARM处理器的选择依据处理器的选择依据22微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第一、ARM微处理器内核的选择n用户如果希望使用WinCE或标准Linux等操作系统以减少软件
11、开发时间,就需要选择ARM720T以上带有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。nARM7TDMI(S3C4510B)则没有MMU,不支持Windows CE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。nuCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。23微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第二、系统的工作频率n系统的工作频
12、率在很大程度上决定了ARM微处理器的处理能力。nARM7系 列 微 处 理 器 的 典 型 处 理 速 度 为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHznARM9系 列 微 处 理 器 的 典 型 处 理 速 度 为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,nARM10最高可以达到700MHz。24微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第三、片内外围电路的选择 n除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应应用用领域,扩展了相关功能模块,并集成在芯片之中,称之为片片内内外
13、外围围电电路路n例例如如:USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等n目目的的:设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。25微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第四、芯片内存储器的容量 n大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器n但也有部分芯片具有相对较大的片内存储空间,n如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间n用户在设计时可考虑选用这种类型,以简化系统的设计。26微迪培训中心深圳市微
14、迪软件技术有限公司深圳市微迪软件技术有限公司 第三章第三章ARM微处理器的编程模型微处理器的编程模型27微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM体系结构介绍体系结构介绍nRISC 体系结构:n指令数少n寻址方式少n指令定长n单指令周期n多级流水线n寄存器完成运算,存储器只有加载和存储指令。28微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM体系结构介绍体系结构介绍nARM/THUMB模式nTHUMB(inside 32bit,code s 16bit)-增加代码密度减少成本nARM7TDMI (参下页)nARM7TDMI处理器可以在ARM
15、/THUMB两种指令模式下工作和切换29微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM7TDMIn在ARM的内核终有四个功能模块,可以供生产厂商根据不同的要求来配置生产,这四个模块分别是:T、D、M、I。n TTHUMBTTHUMB。该内核可以支持16位压缩指令集扩充到32位的指令n D DDebug.Debug.该内核放置了用于调试的结构,通常为一个边界扫描链(JTAG),可以使CPU进入调试模式,从而方便的进行断点设置。n MM Multiplier Multiplier内嵌硬件8位乘法器n n I IICEICE(InIn-CircuitCircuit-Emul
16、ationEmulation )。用于实现断点观测及变量观测的逻辑电路部分,其中TAP控制器可接入到边界扫描链30微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM体系结构介绍体系结构介绍n内核7种工作模式:用户态/FIQ/IRQ/管理态/中止态/系统态/未定义态。用户态无法改变模式,除非异常发生(SWI)1)用户态无法访问某些受限资源,如修改CPSR的控制位。2)除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);3)其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常
17、,以及需要访问受保护的系统资源等情况。31微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM寄存器寄存器ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。R0R12:通用寄存器nR8_FIQ-R12_FIQ:允许快速中断处理nR13用于各工作态的堆栈寄存器nR14用来保护程序调用的现场PC指针nR15:pcnCPSR:状态寄存器nSPSR:用于保存CPSR的状态32微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 THUMB寄存器寄存器nSP-R13nLR-R14nPC R15nR8-R15 访问受限33微迪培训中心深圳市微迪
18、软件技术有限公司深圳市微迪软件技术有限公司 中断与异常中断与异常n区别:正在执行的程序发生暂时的停止是异常;它的当前状态没有保存。n复位:矢量表 0 x00000000n IRQ 中断irq引脚产生,比Fiq优先级低。进入Fiq时,会屏蔽irqnFIQ 矢量放在矢量表的最后,另外有自己的临时寄存器,提升中断响应0 x0000001cn优先级:最高为复位,最低是SWI.34微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 中断与异常中断与异常n异常发生:将下一条当前要执行的指令地址存入LR中,复制CPSRSPSR.获得中断矢量并执行。n异常处理函数返回:LR处理-PCSPSR C
19、PSR清除中断禁止位标志。35微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 存储器和存储器和I/OnARM体系同时支持大尾端/小尾端n小位端:11223344-44,33,22,11。n大尾端:11223344-11,22,33,44。n32根地址线n32根数据线n内部cachenI/O采用内存映射的方式实现36微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 第四章第四章ARM处理器的指令系统处理器的指令系统37微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令寻址方式指令寻址方式n寄存器寻址:ADDR0,R1,R2 ;R0R1R
20、2 n立即寻址:ADDR0,R0,1 ;R0R01n ADDR0,R0,0 x3f;R0R00 x3fn ADDR0,R0,&3f;R0R00 x3fn寄存器移位寻址:ADD R0,R1,R2,LSL#3n寄存器间接寻址:LDR R0,R1n STR R0,R138微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令寻址方式指令寻址方式n基址寻址:nLDR R0,R1,4;R0R14nLDR R0,R1,4!;R0R14、R1R14nLDR R0,R1,4;R0R1、R1R14nLDR R0,R1,R2;R0R1R2n n39微迪培训中心深圳市微迪软件技术有限公司深圳市
21、微迪软件技术有限公司 ARM指令集指令集n多寄存器寻址:nLDMIA R0,R1,R2,R3n块拷贝寻址:nSTMFD R13!,R2-R9 /PUSHnLDMIA R0!,R2-R9nSTMIA R1,R2-R9nLDMFD R13!,R2-R9/POP40微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令集指令集n相对寻址:nBL SUBRnMOV PC,R1441微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令集指令集n条件执行:n 所有的ARM指令可包含一个可选的条件码,只有在满足指定的条件时,带条件码的指令才能执行。n如果要指令的
22、结果更新条件标志,需要在指令后面加S.n一些指令eg:CMP,CMN,TST,TEQ不需要加s42微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令集指令集nEQ:/NE 等于/不等于nCS/HS:CC/LO 大于或等于/小于n MI:PL 负/正或零n VS:VC 溢出/不溢出n HI:LS 大于/小于或等于nGE:LT 大于或等于/小于 -带符号n GT:LE 大于/小于或等于 -带符号43微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM系列开发系列开发nARM处理器软件开发环境 SDT ADS GNU嵌入式的c开发环境:交叉编译/启动代码
23、定标器远端调试44微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 GNU介绍介绍nGnu与GDBnARM与嵌入式Linux45微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 SDT/ADS简介简介nADS使用了codewarrior外壳使用更直观方便,调试器进行了改进。nSDT界面演示nAPM建立一个新项目n编译/连接等选项配置说明nADW+Jtag调试器演示46微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 JTAG/ARM处理器的调试处理器的调试nARM系列内置支持JTAG调试nJTAG调试演示n断点/RAM/ROM断点n察看内存n察看
24、寄存器 47微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 仿真器与调试器的历史仿真器与调试器的历史n全仿真器 使用硬件仿真芯片和仿真内存,连接困难,价格昂贵。Rom monitor:烧入Flash的一段小程序,可通过串/并/ethernet口调试48微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 仿真器与调试器的历史仿真器与调试器的历史nBDM背景调试模式,由motorola提出,把相应调试微码放入处理器,使用高速串口进行访问。(rom monitor的进一步扩展)nJTAG 边界扫描协议,是IEEE规范,目前是主流。使外界可以访问ASIC内部寄存器的技术
25、。49微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 仿真器与调试器的历史仿真器与调试器的历史nBDM&JTAG调试器,与仿真器的区别。同样能够直接控制处理器硬件,在单板的硬件调试能力比rom monitor强。价格便宜/连接方便仿真器使用仿真内存,调试器需要目标板。仿真器支持硬件断点能力强50微迪培训中心深圳市微迪软件技术有限公司深圳市微迪软件技术有限公司 ARM指令集与体系实践指令集与体系实践nARM4510启动汇编代码工作模式切换中断矢量表的设置寄存器体系结构内存/IO访问实例 51微迪培训中心下午:ARM开发实战基于Samsung S3c4510处理器 微迪嵌入式培训中心52s3c4510的内存REMAP演示如何把中断矢量表remap到RAM区间微迪嵌入式培训中心53S3c4510的在线FLASH烧写 微迪嵌入式培训中心54