1、基于ARM的嵌入式开发技术作者:皮永辉 深圳旋极历通科技有限公司2003-92003年珠海年珠海ARM嵌入式开发嵌入式开发/软件测试技术研讨会软件测试技术研讨会 2内容提要内容提要n关于ARMn嵌入式系统的开发流程n基于ARM的开发技术与环境nARM的SOC开发 3关于关于ARMnARM=Advanced RISC MachineuRISC 的典型代表u32位处理器技术u嵌入式领域的主力军nARM的产品uARM处理器内核,以IP的形式提供给IC生产厂家F硬核F软核uARM开发工具、SOC开发工具、评估板等uARM公司不生产芯片 4ARM的特点(的特点(1)nARM微处理器的主要特点u系列化:A
2、RM7,ARM9,ARM10,u独特的指令系统F32位架构,定长。32位ARM指令 16位Thumb指令F大部分为单周期指令F条件执行FLoad/Storeu流水线结构FARM7:3级流水线FARM9:5级流水线u高性能、低功耗 5ARM的特点(的特点(2)nARM微处理器的主要特点u支持JTAG调试u7种工作模式FUser:用户模式,非特权FFIQ:快速中断FIRQ:普通中断FSupervisor 管理模式FAbort:存取异常模式FUndef:未定义指令模式FSystem:系统模式u2种工作状态FARMFThumbF支持ARM/Thumb的交互工作 6ARM的应用的应用 7关于嵌入式系统关
3、于嵌入式系统n典型的嵌入式系统的一般由以下几部分组成u嵌入式微处理器u外围硬件设备u嵌入式操作系统u应用程序n嵌入式系统的典型特征u专用u硬件u软件 8嵌入式系统的开发嵌入式系统的开发流程流程确定产品需求选择主要芯片确定编程语言选择开发环境RTOS的使用选择开发方案选择开发方案设计与调试测试测试工具与其他辅助设备产品 9嵌入式系统的开发嵌入式系统的开发设计与调试设计与调试设计生产编译器链接器调试器IDE操作系统软件测试评估板仿真器逻辑分析仪边界扫描测试仪编程器 10开发环境开发环境n什么是嵌入式开发环境:源程序编译器目标文件链接器可重定位程序定位器可执行文件u编译器/汇编器/链接定位器u调试器
4、/仿真器u主机(Host)及其工作平台u实时操作系统(可选)u目标评估系统(可选)u测试工具(软件/硬件/协议等,可选)u其他辅助设备(可选)n 典型的开发环境 11ARM的编译器(的编译器(1)nADS1.2uARM公司出品uIDE环境,包括FARM/Thumb汇编器:armasmFANSI C 编译器-armcc 和 tccFISO/Embedded C+编译器 -armcpp and tcppF链接器 armlinkFWindows 集成开发环境 CodeWarriorF格式转换器 fromelfF库管理器-armarF调试器 模拟调试器:ARMulator JTAG调试:AXD(与Mu
5、lti-ICE配合)u支持所有ARM内核,最新版本:RealView2.0 12ARM的编译器(的编译器(2)nEW-ARMu瑞典IRA公司出品F著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称F主要产品:Embeded Workbench(EW)、Make APP、Visual State等uEW-ARM:针对ARM的集成开发环境:FC/C+编译器FC-SPY 模拟调试器FROM-MonitorF多种级别代码优化方法,满足用户在速度、文件大小方面的要求F内建ARM特性优化器F支持多种断点模式F支持Nucleus,VxWorks等RTOSnGreenhillsnGNU 13嵌入式
6、系统的调试(嵌入式系统的调试(1)n嵌入式系统的调试有四种基本方法:u模拟调试(Simulator)u软件调试(Debugger)uBDM/JTAG调试(BDM/JTAG Debugger)u全仿真调试(Emulator)14嵌入式系统的调试(嵌入式系统的调试(2)n模拟调试(Simulator)调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。u优点:简单方便,不需要目标板,成本低u缺点:功能非常有限,无法实时调试大多数调试工具都提供Simulator功能 15嵌入式系统的调试(嵌入式系统的调试(3)n软件调试(Debugger)主机和
7、目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor)u优点:纯软件,价格较低,简单,软件调试能力较强u缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。PCTargetMonitor串口 16嵌入式系统的调试(嵌入式系统的调试(4)nBDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/
8、JTAG调试器下载到目标板上运行。u优点:方便、简单,无须制作Monitor,软硬件均可调试u缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片TargetPC接口BDM/JTAG Debugger 17嵌入式系统的调试(嵌入式系统的调试(5)n全仿真调试(Emulator)这种方式用仿真器完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。u优点:功能非常强大,软硬件均可做
9、到完全实时在线调试u缺点:价格昂贵。18ARM的调试方式的调试方式n模拟调试uADS1.2:ARMulatoruTrace32:SimulatoruEW-ARM:C-spyn软件调试uADS1.2:Angel(串口)nJTAG调试uARM:Multi-ICEuTrace32-ICD for ARMuHitex:Tanto for ARMn全仿真调试uTrace32-FIRE/ICE 19Trace32-ICD的特点(的特点(1)l德国Lauterbach公司出品lTRACE32-ICD是基于集成在片内的调试和跟踪逻辑的在线调试工具。这些接口包括:lBDM:背景调试模式,主要由Motorola使
10、用lJTAG:边界扫描,用于测试和调试lOCDS:在片调试支持,由Infineon公司定义lNEXUS:IEEE-ISTO 5001标准所定义的调试接口l模块化结构,用户可根据自己的需求配置l通用性仿真工具,只需更换仿真头,就可以调试其他CPU 20Trace32-ICD的特点(的特点(2)n强大、灵活的调试手段u丰富的断点类型u强大的运行控制u统一的命令集,支持批处理u高效灵活的脚本语言Practicen支持RTOS调试n支持FLASH在线编程n支持嵌入式软件测试n支持多CPU调试和多内核调试n个性化界面,用户可自行设计菜单、按键等 21其它其它ARM调试工具(调试工具(1)nMulti-I
11、CEuARM公司出品u与ADS配套使用u支持不同的ARM内核u另有Multi-trace模块可选 22其它其它ARM调试工具(调试工具(2)nTANTO(=Test and Analysis Tool)u德国Hitex公司出品,ARM、PowerPC等JTAG/BDM调试工具u模块化结构:F主基模块TB(Tanto Base)F端口追踪模块PT(Port Trace)F总线链接模块BL(Bus Link)F总线追踪模块BT(Bus Trace)F仿真头PL(Port Link)u主机连接方式:串口/USB/网口u统一的调试界面,支持C/C+,支持RTOS调试u开放的体系结构,兼容性好 23评估
12、板的好处评估板的好处n目标评估系统(Evaluation board)n芯片厂家在推销自己的MCU时,常常会推出针对该芯片的评估板。评估板将MCU所的功能充分展示出来(可能还带有部分软件),用户可直接使用,并借鉴其设计方法。n使用评估板可大大加快硬件开发和软件调试的进程。n目前旋极公司提供ARM7、ARM9和DragonBall的评估板 24选择实时操作系统选择实时操作系统RTOSn对于复杂的嵌入式系统应考虑使用RTOSnRTOS的作用:u提供API(应用编程接口):操作系统为应用程序员提供可供调用的API,允许程序员致力于应用程序的开发 u简化系统设计:实时嵌入式系统比非实时系统更难设计.使
13、用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理n旋极公司提供如下支持ARM的实时操作系统:uNucleusuOSE 25RTOS简介(简介(1)nNucleusu美国ATI公司出品u微内核技术u模块化结构,可随意裁剪u提供完全源代码u无产品版税(Royalties Free)u无BSP开发,可移植性强u丰富的开发手段u支持绝大多数嵌入式微处理器,包括ARM Board Hardware BSP RTOS ApplicationNucleus 26RTOS简介(简介(2)nOSEu瑞典Enea公司出品u支持复杂的分布式系统u极强的处理能力u强大的纠
14、错能力u支持软硬件热交换u严格的安全认证u强大的第三方支持u先进的消息传递机制u富有特色的链接管理(Link Handler)u支持绝大多数嵌入式微处理器,包括ARM 27嵌入式系统的测试(嵌入式系统的测试(1)n嵌入式技术的发展催生了很多新技术,新技术带来了一系列新的问题:新技术IC设计越来越复杂引脚封装小型化引脚数量急剧增加PCB走线越来越细可编程部件在线编程新市场缩小产品尺寸增加产品功能提高时钟速率缩短产品上市时间 28“老革命遇上新问题”PCB两面焊,埋入式过孔和走线缺少物理入口,象SMT和BGA引脚测试非常困难测试夹具难以测试原型组件小尺寸PCB无法预留测试点许多CPLD和FLASH
15、无法使 用插座编程每选一新的可编程器件,工 程师就要学新的编程方法DQQBed-of-Nails Test FixtureBoard-Under-Test嵌入式系统的测试(嵌入式系统的测试(2)n传统测试/调试方法 29嵌入式系统的测试(嵌入式系统的测试(3)n新技术,新方法u使用边界扫描测试技术可以有效地解决这些问题!u边界扫描来源于IEEE Std 1149.1,是由联合测试行动小组(Joint Test Action Group)制定的一种测试逻辑,所以又称JTAG标准。uJTAG作为集成电路的一部分,可以完成以下功能:测试器件间的相互连线;测试集成电路本身;在线编程CPLD、FPGA、
16、FLASH;JTAG仿真调试nCorelis公司的ScanPlus边界扫描测试仪 30嵌入式系统的测试(嵌入式系统的测试(4)ScanPLUS边界扫描测试仪边界扫描测试仪u美国Corelis出品u由硬件和软件两部分组成 31嵌入式系统的测试(嵌入式系统的测试(5)ScanPLUS的组成的组成软件软件 ScanPlus Runner:检测执行、控制JTAG 控制器 进行检测工作的控制部分;ScanPlus TPG:产生线路检测文件;ScanPlus ADO:高级诊断部分;ScanPlus Debugger:可以对线路板故障部分进 行在线细化、逐步和定制的测试,以找 出故障原因,并提供详细的真值表
17、;ScanPlus Merge:可以进行整合测试,可以对母 板及其带有的多块子板进行整合测试,以节省测试时间和手续;32嵌入式系统的测试(嵌入式系统的测试(6)ScanPLUS的组成的组成软件软件 ScanPlus Runner:可以进行CPLD的在线编程;ScanPlus Flash Generator:Flash在线编程数据文件 的产生部分;ScanPlus Flash Programmer:Flash在线编程执行部分 33嵌入式系统的测试(嵌入式系统的测试(7)ScanPLUS的组成的组成硬件硬件JTAG Controller:JTAG 控制器控制器u功能:将功能:将ScanPlus R
18、unner生成的检测序列按照与计生成的检测序列按照与计算机的连接协议转化成算机的连接协议转化成JTAG检测数据链,通过检测数据链,通过JTAG连接线传送给目标板。连接线传送给目标板。34嵌入式系统的测试(嵌入式系统的测试(8)nScanPLUS工作原理ISP 模块ISP 模块(CPLD、FPGA、Flash)(CPLD、FPGA、Flash)TPG模块TPG模块Runner+ADORunner+ADO模块模块JTAG 控制JTAG 控制模块模块SCANIOSCANIO模块模块被测对象被测对象检测数据链检测数据链结果报告结果报告程序代码程序代码网络表网络表结构表结构表器件型号器件型号BSDL文件
19、BSDL文件网络表网络表结构表结构表组信息组信息存储器、FIFO 信息存储器、FIFO 信息BSDL文件BSDL文件 35SOC与与ARM(1)nSOC概念uSOC=System On Chip,即在片系统,或系统集成芯片uSOC就是在单个芯片上实现一个复杂的系统。这一技术的得以实现主要是由于现今EDA 技术的推广,VLSI设计的普及化,以及新的设计理念(基于基于IP的设计的设计)的诞生。36SOC与与ARM(2)nSOC实现u通常是采用基于IP的设计方法F用户首先定义出整个应用系统F通过调用IP或现成的 VLSI 设计库中的器件,在计算机中模拟实现F仿真调试F将设计图交给半导体工厂制作样品。
20、u除个别无法集成的器件外,整个嵌入式系统的大部分均可集成到一块,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。u仿真调试方法F计算机模拟F真实的SOC开发调试环境 37SOC与与ARM(3)nSOC优势u可以大幅缩小整个系统的体积;u减少外设与微处理器之间的电路板连线,避免信号传递时的噪声干扰,从而大大减小硬件开发的难度;u由于SOC一般采用的都是低电压内核,可以大大降低系统的功耗;u由于SOC的实现通常是采用基于IP的模块化设计思想,因此大大降低了软件开发的难度;38SOC与与ARM(4)nIntegrator简介uIntegrator是ARM公司提供的用于SOC(Sy
21、stem On Chip)设计的集成开发环境u将ARM公司的各种ARM内核及其相关技术通过灵活而又高效的开发平台提供给用户。F提高设计效率F缩短上市时间F降低开发成本uIntegrator将软件和硬件IP集成在一起FARM不仅提供内核IP,也提供各种外设IP(PrimeCell)及其相关驱动F使用可编程器件F方便得到与最终系统极为相近的早期原型 39SOC与与ARM(5)nIntegrator组成uCMCore ModuleuLMLogic ModuleuIMInterface Moduleu板极平台:提供各模块所需的以AMBA为骨干的系统架构FAPASIC Development PlatformFAMAnalyzer ModuleFSPCompactPCI Development Board 40SOC与与ARM(6)nIntegrator优势u真实的早期原型u高效灵活的设计平台F硬件实体FIPF现场设计与修改F在线调试、试用、测试uIMInterface Moduleu缩短开发周期、降低成本F提高设计的可信度F减少样片生产F降低商业风险 41n谢谢大家