,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,基于ARM的,嵌入式开发技术,作者:皮永辉,深圳旋极历通科技有限公司,2003-9,2003年珠海ARM嵌入式开发/软件测试技术研讨会,必寥脓躲渐褂跺胖匠问屯叭灿沃辙拍攒牺蜂驳症简弱窗沿唐鼓抡脾烬甲芜基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,12/12/01,1,基于ARM的2003年珠海ARM嵌入式开发/软件测试技术研讨,内容提要,关于ARM,嵌入式系统的开发流程,基于ARM的开发技术与环境,ARM的SOC开发,画扁框歹李澡辕千缅匣力翔绒膏茧迟毒超徐诱穴饲俄们把嚼咏哦胶冲墒勤基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,2,内容提要关于ARM画扁框歹李澡辕千缅匣力翔绒膏茧迟毒超徐诱穴,关于ARM,ARM=,A,dvanced,R,ISC,M,achine,RISC 的典型代表,32位处理器技术,嵌入式领域的主力军,ARM的产品,ARM处理器内核,以IP的形式提供给IC生产厂家,硬核,软核,ARM开发工具、SOC开发工具、评估板等,ARM公司不生产芯片,捏纫衷聚翟娩动斜蕾吐窄翟冻辣晶阅狠炬毁坊俯横隅狼副沏哑棠艇鹃闯酣基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,3,关于ARMARM=Advanced RISC Machine,ARM的特点(1),ARM微处理器的主要特点,系列化:ARM7,ARM9,ARM10,独特的指令系统,32位架构,定长。,32位ARM指令,16位Thumb指令,大部分为单周期指令,条件执行,Load/Store,流水线结构,ARM7:3级流水线,ARM9:5级流水线,高性能、低功耗,藤镁阅澎课娃负嫩衰挡拔味俩甥莱啦渔漱掣胃严己夏薛挎访节级压翼巫砍基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,4,ARM的特点(1)ARM微处理器的主要特点藤镁阅澎课娃负嫩衰,ARM的特点(2),ARM微处理器的主要特点,支持JTAG调试,7种工作模式,User,:,用户模式,非特权,FIQ,:,快速中断,IRQ,:,普通中断,Supervisor,管理模式,Abort,:,存取异常模式,Undef,:,未定义指令模式,System,:,系统模式,2种工作状态,ARM,Thumb,支持ARM/Thumb的交互工作,舱瓮纫派霍狙缎璃赫凄挨鸦郎俄岿酶喘范饶买告乘红怖徐撇般筏涛北惧猜基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,5,ARM的特点(2)ARM微处理器的主要特点舱瓮纫派霍狙缎璃赫,ARM的应用,开坤即馏淬煤制摆撅自拷蛊职女蓟猛虽舶浚摆距辰滚簿率杏掏知癣钞私骑基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,6,ARM的应用开坤即馏淬煤制摆撅自拷蛊职女蓟猛虽舶浚摆距辰滚簿,关于嵌入式系统,典型的嵌入式系统的一般由以下几部分组成,嵌入式微处理器,外围硬件设备,嵌入式操作系统,应用程序,嵌入式系统的典型特征,专用,硬件,软件,曝牵节肌琶咽轿护亢荧害仗阻烙咬危嚣要馒苦露姜菜戚德妆杰承尸痹烽低基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,7,关于嵌入式系统典型的嵌入式系统的一般由以下几部分组成曝牵节肌,嵌入式系统的开发流程,确定产品需求,选择主要芯片,确定编程语言,选择开发环境,RTOS的使用,选择开发方案,设计与调试,测试,测试工具与其他辅助设备,产品,瑟卵惜宇捞凋铀是息殖牡硼正按谷盯巡搽霍犬绘寄厚没历转恭乔期琼侧驱基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,8,嵌入式系统的开发流程确定产品需求选择主要芯片确定编程语言,嵌入式系统的开发设计与调试,设计,生产,编译器,链接器,调试器,IDE,操作系统,软件测试,评估板,仿真器,逻辑分析仪,边界扫描测试仪,编程器,浮欠金咐信搞跟顶车属蔓蔚晰寄阵驭锤扯碱舟雇屠汗吁窑餐舌痉孤门娘盔基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,9,嵌入式系统的开发设计与调试设计生产编译器链接器调试器ID,开发环境,什么是嵌入式开发环境:,源程序,编译器,目标文件,链接器,可重定位程序,定位器,可执行文件,编译器/汇编器/链接定位器,调试器/仿真器,主机(Host)及其工作平台,实时操作系统(可选),目标评估系统(可选),测试工具(软件/硬件/协议等,可选),其他辅助设备(可选),典型的开发环境,徒荣餐灌蟹谅灸入鹅孰妈恬务握贪耘猫笋铬接恨霓也饮式骑响饵晴训提洲基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,10,开发环境什么是嵌入式开发环境:源程序编译器目标文件链接器可重,ARM的编译器(1),ADS1.2,ARM公司出品,IDE环境,包括,ARM/Thumb汇编器:,armasm,ANSI C 编译器-,armcc,和,tcc,ISO/Embedded C+编译器 -,armcpp,and,tcpp,链接器,armlink,Windows 集成开发环境,CodeWarrior,格式转换器,fromelf,库管理器-,armar,调试器,模拟调试器:,ARMulator,JTAG调试:,AXD,(与Multi-ICE配合),支持所有ARM内核,最新版本:RealView2.0,展允乞斜口洽葛列询屏箕持孙驹孝终诱社抡阂翻提摘萧俗缝分岿读五墓久基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,11,ARM的编译器(1)ADS1.2展允乞斜口洽葛列询屏箕持孙驹,ARM的编译器(2),EW-ARM,瑞典IRA公司出品,著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称,主要产品:,Embeded Workbench(EW),、Make APP、Visual State等,EW-ARM:针对ARM的集成开发环境:,C/C+编译器,C-SPY 模拟调试器,ROM-Monitor,多种级别代码优化方法,满足用户在速度、文件大小方面的要求,内建ARM特性优化器,支持多种断点模式,支持Nucleus,VxWorks等RTOS,Greenhills,GNU,最女骸朵垃韶样兽宰赎半帜闻胆咨闲闽储萤铺祟骇暮帘谨标霍硬辕倔药帖基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,12,ARM的编译器(2)EW-ARM最女骸朵垃韶样兽宰赎半帜闻胆,嵌入式系统的调试(1),嵌入式系统的调试有四种基本方法:,模拟调试(Simulator),软件调试(Debugger),BDM/JTAG调试(BDM/JTAG Debugger),全仿真调试(Emulator),琼势缺铺掖剩宛烙龟佬匙水衣侣羽绵绸亩习苞涎棘抓响滔记拒浚匆殴痛疲基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,13,嵌入式系统的调试(1)嵌入式系统的调试有四种基本方法:琼势缺,嵌入式系统的调试(2),模拟调试(Simulator),调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。,优点:,简单方便,不需要目标板,成本低,缺点:,功能非常有限,无法实时调试,大多数调试工具都提供Simulator功能,听镇讲唯问讨褐俄禽势脓继峦垂辱棺占俐傣卵投束皂卧惧拴票棉送框蚕漫基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,14,嵌入式系统的调试(2)模拟调试(Simulator)听镇讲唯,嵌入式系统的调试(3),软件调试(Debugger),主机和目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。,这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor),优点:,纯软件,价格较低,简单,软件调试能力较强,缺点:,需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。,PC,Target,Monitor,串口,脯塞侗诉翻示烂呸陶吁伯遍戌架呢路芜屉缝坎雹匀陌菇真缎钦渊绸等姚敦基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,15,嵌入式系统的调试(3)软件调试(Debugger)PCTar,嵌入式系统的调试(4),BDM/JTAG,调试,这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/JTAG调试器下载到目标板上运行。,优点:,方便、简单,无须制作Monitor,软硬件均可调试,缺点:,需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片,Target,PC,接口,BDM/JTAG,Debugger,巳喷淑脉枫姚官恨摹剃六傻蛙死墅近揖桐上刹悍紧蓑严窍择久垫慰阿箔旱基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,16,嵌入式系统的调试(4)BDM/JTAG调试TargetPC接,嵌入式系统的调试(5),全仿真调试,(Emulator),这种方式用仿真器完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。,优点:,功能非常强大,软硬件均可做到完全实时在线调试,缺点:,价格昂贵。,眶拂冶保狙拇如捏谐童蔡刃二冀密喘肢捻琐汕卖娘淫耽鞋蛤揩饿会悟义佩基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,17,嵌入式系统的调试(5)全仿真调试(Emulator)眶拂冶保,ARM的调试方式,模拟调试,ADS1.2:ARMulator,Trace32:Simulator,EW-ARM:C-spy,软件调试,ADS1.2:Angel(串口),JTAG调试,ARM:Multi-ICE,Trace32-ICD for ARM,Hitex:Tanto for ARM,全仿真调试,Trace32-FIRE/ICE,炉屈银坦攻漱谷窒橙捧兴了羽做阶雌搽要琐摈检肛澳邦傀吉夹矗铜尝骤赃基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,18,ARM的调试方式模拟调试炉屈银坦攻漱谷窒橙捧兴了羽做阶雌搽要,Trace32-ICD的特点(1),德国Lauterbach公司出品,TRACE32-ICD,是基于集成在片内的,调试和跟踪逻辑,的在线调试工具。这些接口包括:,BDM:背景调试模式,主要由Motorola使用,JTAG:边界扫描,用于测试和调试,OCDS:在片调试支持,由,Infineon公司定义,NEXUS:,IEEE-ISTO 5001标准所定义的调试接口,模块化结构,用户可根据自己的需求配置,通用性仿真工具,只需更换仿真头,,就可以调试其他CPU,盛颠丰不婴动磺勺蔽曳寻揪枫谦嫌摈温宾汁刷孽辕蓝疏顺耍垃畔薯孟锄昧基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,19,Trace32-ICD的特点(1)德国Lauterbach公,Trace32-ICD的特点(2),强大、灵活的调试手段,丰富的断点类型,强大的运行控制,统一的命令集,支持批处理,高效灵活的脚本语言Practice,支持RTOS调试,支持FLASH在线编程,支持嵌入式软件测试,支持多CPU调试和多内核调试,个性化界面,用户可自行设计菜单、按键等,案盔挎弱巷贴勾赠鳖蕾摇霓延函沙灾雷弹益葵请棺控故栽潞鹏谩湾筹盟嘿基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,20,Trace32-ICD的特点(2)强大、灵活的调试手段案盔挎,其它ARM调试工具(1),Multi-ICE,ARM公司出品,与ADS配套使用,支持不同的ARM内核,另有Multi-trace模块可选,予稠室署分技诀躺恒座嗅企以雹斋吁莎笼菇窗贞虎蘸屏驭酶曙讲复肢幂渊基于ARM的嵌入式开发技术基于ARM的嵌入式开发技术,21,其它ARM调试工具(1)Multi-ICE予稠室署分技诀躺恒,其它ARM调试工具(2),TANTO(=,T,est and,An,alysis,To,ol),德