深圳市微迪软件技术有限公司微迪培训中心第四十二期本讲培训目标对ARM处理器相关产品有整体上的了解了解选择ARM处理器的选择依据了解ARM处理器的编程模型了解ARM处理器的指令系统深圳市微迪软件技术有限公司微迪培训中心第四十二期课程内容第一章ARM处理器介绍第二章ARM处理器选择依据第三章ARM处理器编程模型第四章ARM处理器指令系统深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM公司简介ARM(AdvancedRISCmachines)公司是全球领先的16/32位微处理器知识产权设计供应商。1990年正式成立。ARM公司作为32位处理器内核的提供者,拥有100多家半导体合作伙伴。深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM公司简介它不介入芯片的生产销售,只向各大半导体制造商出售知识产权。现在设计、生产ARM芯片的国际大公司已经超过50多家。目前已经占有75%以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。ARM公司的网址ARM是一个CPU核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费与技术转让费这种商业模式导致ARM公司专注于armcore技术的设计。价格合理,过去没有32位cpu研发能力的半导体公司进入这一行列。深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM简介ARM首先在移动计算领域获得盛誉,目前基于ARM的SOC芯片在手持产品,多媒体消费产品,中底端网络设备广泛应用。ARM体系性价比高,功耗低,获得了众多知名芯片厂家的支持和授权。如Samsung,Atmel,Intel,Motorola,TI,Qualcomm,Conexant,CirrusLogic,SONY,LSI,LinkUp…….深圳市微迪软件技术有限公司微迪培训中心第四十二期供应商芯片1芯片2芯片3芯片4主要应用IntelSA-110SA-1100SA-1110IXP1200PalmPC,NetworkTITMS320DSC21TMS320DSC24TMS320DSC25OMAP1510DigitalCameraSamsungS3C44B0XS3C2410S3C4510S5N8946ADSL,PDAMotorolaDragonballMX1BT,PDAPhilipsSAA7750VWS22100VCS94250VWS26001MP3,GSM,3G,BTCirrusLogicEP7209EP7212EP7312EP9312GP,MP3ATMELAT91R40XXXAT75C310AT76C901AT76C502GP,Wireless主要ARM芯片供应商及其代表性产品和主要应用领域深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM简介ARM功能强大,完善的开发工具支持,因此越来越受到国内工程师的欢迎。目前国内流行的ARM处理器应用主要基于ARM7TDMI内核。---s3c4510/44b0---at9140800深圳市微迪软件技术有限公司微迪培训中心第四十二期嵌入式产品处理器目8bit单片机主要问题是:外围扩充代码/数据空间困难。mips值低,无法快速实现协议处理功能,,外接ethernet/上tcp/ip协议困难,无法完成视频音频处理深圳市微迪软件技术有限公司微迪培训中心第四十二期其他嵌入式处理器介绍X86系列Motolora系列MIPS系列SH/HP-RISC等系列深圳市微迪软件技术有限公司微迪培训中心第四十二期X86系列CPU性能价格比良好开发简单,软件兼容性好。软件资源丰富开发平台简单目前有大量工控104板,CPCI板可使用,方便二次开发。深圳市微迪软件技术有限公司微迪培训中心第四十二期X86系列cpu—Intel公司intel嵌入式x86系列:186series,386ex,486dx.I960AMD嵌入式x86系列:186/188em/es/cc..Elan520..NS系列:Geode™GX,GXLV,GXM深圳市微迪软件技术有限公司微迪培训中心第四十二期Motorola系列处理器Motorola系列处理器68k/DragonballCpu32ColdfirePPC8xxPPC82xx深圳市微迪软件技术有限公司微迪培训中心第四十二期Motorola系列处理器开发工具完备,技术支持力量强大高端通信市场主要芯片供应商抗干扰,军品指标产品线完备深圳市微迪软件技术有限公司微迪培训中心第四十二期其他系列内核SH3core:HP-RISCcore:MIPScore:有多款机顶盒/视频SOC产品使用ST7…..深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM系列处理器ARM系列内核的优势低价格低功耗高处理能力。另外具有Thumb,DSP,jazeller功能扩展支持厂家多,资源重用性好。深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM系列处理器主流ARM内核:ARM7/TDMI720TARM9/ARM9EARM10SecurcoreStrongARM/Xscale深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM系列处理器ATMEL公司arm系列AT91系列目标替代单片机,单纯CPU核。AT75/76系列:内置arm7/DSP双内核,有Arm+2DSP/ARM+DSP+MAC,两种配置,加上PHY就可实现voip终端深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM系列处理器Cirruslogic公司机顶盒/mp3/IA等专用SOC,有数模混合和视频/音频处理优势。EP7211EP7212EP7209EP9312深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM系列处理器NetScillon公司ARM+NET系列芯片,关注设备上网(嵌入式internet)解决方案。Samsung:Arm系列SOC芯片,4510/44b0/2410…集成度高,关注网络/移动存储/mp3/pda应用。Motolora:龙珠MX1,使用了arm9内核…..深圳市微迪软件技术有限公司微迪培训中心第四十二期第二章ARM处理器的选择依据深圳市微迪软件技术有限公司微迪培训中心第四十二期第一、ARM微处理器内核的选择用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。ARM7TDMI(S3C4510B)则没有MMU,不支持WindowsCE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。深圳市微迪软件技术有限公司微迪培训中心第四十二期第二、系统的工作频率系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHzARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到700MHz。深圳市微迪软件技术有限公司微迪培训中心第四十二期第三、片内外围电路的选择除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,称之为片内外围电路例如:USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等目的:设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠性。深圳市微迪软件技术有限公司微迪培训中心第四十二期第四、芯片内存储器的容量大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间用户在设计时可考虑选用这种类型,以简化系统的设计。深圳市微迪软件技术有限公司微迪培训中心第四十二期第三章ARM微处理器的编程模型深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM体系结构介绍RISC体系结构:指令数少寻址方式少指令定长单指令周期多级流水线寄存器完成运算,存储器只有加载和存储指令。深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM体系结构介绍ARM/THUMB模式THUMB(inside32bit,code‘s16bit)--增加代码密度减少成本ARM7TDMI(参下页)ARM7TDMI处理器可以在ARM/THUMB两种指令模式下工作和切换深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM7TDMI在ARM的内核终有四个功能模块,可以供生产厂商根据不同的要求来配置生产,这四个模块分别是:T、D、M、I。T—THUMB。该内核可以支持16位压缩指令集扩充到32位的指令D-Debug.该内核放置了用于调试的结构,通常为一个边界扫描链(JTAG),可以使CPU进入调试模式,从而方便的进行断点设置。M-Multiplier内嵌硬件8位乘法器I-ICE(In-Circuit-Emulation)。用于实现断点观测及变量观测的逻辑电路部分,其中TAP控制器可接入到边界扫描链深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM体系结构介绍内核7种工作模式:用户态/FIQ/IRQ/管理态/中止态/系统态/未定义态。用户态无法改变模式,除非异常发生(SWI)1)用户态无法访问某些受限资源,如修改CPSR的控制位。2)除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(PrivilegedModes);3)其中除去用户模式和系统模式以外的5种又称为异常模式(ExceptionModes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。深圳市微迪软件技术有限公司微迪培训中心第四十二期ARM寄存器ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。R0—R12:通用寄存器R8_FIQ---R12_FIQ:允许快速中断处理R13用于各工作态的堆栈寄存器R14用来保护程序调用的现场PC指针R15:pcCPSR:状态寄存器SPSR:用于保存CPSR的状态深圳市微迪软件技术有限公司微迪培训中心第四十二期THUMB寄存器SP--R13LR-R14PCR15R8---R15访问受限深圳市微迪软件技术有限公司微迪培训中心第四十二期中断与异常区别:正在执行的程序发生暂时的停止是异常;它的当前状态没有保存。复位:矢量表0x00000000IRQ中断irq引脚产生,比Fiq优先级低。进入Fiq时,会屏蔽irqFIQ矢量放在矢量表的最后,另外有自己的临时寄存器,提升中断响应0x0000001c优先级:最高为复位,最低是SWI.深圳市微迪软件技术有限公司微迪培训中心第四十二期中断与异常异常发生:将下一条当前要执行的指令地址存入LR中,复制CPSRSPSR.获得中断矢量并执行。异常处理函数返回:LR处理-PCSPSRCPSR清除中断禁止位标志。深圳市微迪软件技术有限公司微迪培训中心第四十二期存储器和I/OARM体系同时支持大尾端/小尾端小位端:11223344--〉44,33,22,11。大尾端:11223344--〉11,