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