您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第9讲ARM集成开发环境
第九讲ARM集成开发环境计算机专业核心课程之一•ADS1.2集成开发环境介绍–软件程序编译、PC模拟调试•TRACE32仿真调试器介绍–硬件板级调试•SOC设计开发环境介绍–ARM芯片设计议程ARM集成开发环境ADS1.2集成开发环境介绍•ADS1.2是为嵌入式ARM设计的一整套软件开发工具–从最初的软件原型到最终优化的ROM代码。•ADS1.2发布于2001的12月•支持的主机系统–IBMcompatiblePCswithWindows95,98,2000,MEorNT4–SunworkstationswithSolaris2.6,2.7or2.8–HPworkstationswithHPUX10.20,11–RedHatLinux6.2&7.1•使用FLEXLM管理器,管理它的LICENSE•45天的评估版软件•第三方工具支持:–概述•支持最新的ARM内核–ARM926EJ-S,ARM9EJ-S,VFPv2•支持V5TEJ体系结构•ARMulator仿真执行Javabytecode•Bytecode显示Jazelle状态•库管理器可合并各种库(RTOS,TCP/IPX通讯协议栈)•使用pragmas,可实现出色代码和数据的布局,为可重定位的代码设置新的链接选项•编译器同时输出汇编码和目标码ADS1.2特性•ANSIC编译器-armccandtcc•ISO/EmbeddedC++编译器-armcppandtcpp•ARM/Thumb汇编器-armasm•Linker-armlink•Windows集成开发环境-CodeWarrior•Debugger-AXD–armsd可向前兼容•格式转换器-fromelfADS1.2主要模块•库管理器-armar•CandC++库•指令级仿真器-ARMulator•同时包含–ARMFirmwareSuite(底层的例程和库)–ARMApplicationLibrary–RealMonitorADS1.2主要模块C++sourcemodule(s)ASMsourcemodule(s)Csourcemodule(s)命令行makefileIDEfromelfROMformatDisassemblyCodesizeDatasizeetc.ofromelf.oarmarLibrary.carmcpp-ctcpp-carmcc-ctcc-carmasm.cppELFobjectfile(s)withDWARF2debugtables.s.o.axfarmlinkLibrariesELF/DWARF2imageADS1.2工具使用C/C++BrowserC/C++SensitiveEditorProjectManagerCodeWarrior-IDEDockingwindowsDockingtoolbarsRegistersSource/DisassemblyMemoryAXDC/C++编译器–关键特性•完全支持ANSI及其兼容C编译器•属于ISO/EmbeddedC++compilers•支持所有的ARM处理器(用‘-cpu’)–e.g.ARM7TDMI,StrongARM,ARM9TDMI,ARM9E,ARM10,Xscale•优化的代码可以实现源码级调试:–-O0:最佳的调试信息,没有优化(-g)“Debug”–-O1:大部分优化,比较好的调试信息(–g)“DebugRel”–-O2:完整优化,有限的调试信息“Release”•内嵌汇编•C和汇编的交叉列表(‘-S-fs’)C/C++Compiler–数据类型•下面这些数据类型可支持–char8bitbyte–short16bithalf-word–int32bitword–long32bitinteger–float32bitIEEEsingle-precision–double64bitIEEEdouble-precision–pointers32bits–longlong64bitintegerpointer,char(默认为unsigned,可用-zc变为signed)之外,上述所有的默认值为Signed。ADS1.2提供的库•ANSIC库–完整的文件处理,字符,数学库等–这些库、函数包不需要为重定向而重新编译。•适合嵌入式使用-不必设单独的内嵌变量–自动选择正确的库•决定于所使用的字节对齐方式,独立的位置,堆栈的检查等。–保留了runtime功能支持和浮点支持•C++库包含:–标准c++库(2.01版本)–C++编译器包含runtime功能支持ADS1.2支持的调试方式ELF/DWARF2imageHostrunningdebuggerMulti-ICEAngelARMulator指令级仿真串口方式调试,目标板上运行monitorJTAG调试ARMulator•针对某种ARM内核进行指令级仿真•可以完成精确的指令仿真–允许对程序的执行进行校验–可以对存储器周期进行统计–允许为指定的存储器和时钟速度,设定系统的基准•根据要求可以配置所有的ARM核来进行调试–最新的含CACHE的核e.gARM946E,ARM966E,ARM10(inclVFP),XScale•支持TRACE-指令追踪•提供扩展的工具包–所有的模板用C编写,可以容易地用VISUALC++增加新的外设模板–也可仿真IRQ或FIQ中断–可参考ADS1.2DebugTargetGuide有关模板的详细说明Multi-ICEJTAG调试的系统就是最终系统也存在第三方的协议转换器产品(canberunonseparatemachines)TAPEmbeddedICELogic-RTADS1.2提供的ARM应用库•应用库是一个优化的软件包:包括数学运算和应用等•由ARM体系结构专家手工制作的–优秀的ARM例子程序•完全源代码,包含说明文档和创建(BUILD)工具•在用户应用软件里使用,是免版税的•软件包包括:–DSP变换:-DCT,FFT–DSP过滤-FIR,IIR&LMS–数学计算•快速定点乘法和除法•平方根,立方根,三角函数•有符号的饱和加法–其它大量有用的函数ADS1.2小结•完成软件程序的编译,连接定位•完成初级的软件模拟调试工作•初步验证程序的正确性•为后续板级硬件集成调试提供前提条件(Multi-ICE)•……TRACE32仿真调试器介绍TRACE32•德国Lauterbach公司出品•致力于开发全能型开发工具-仿真器,调试器•成立于1979,最大最全的仿真器,调试器设计制造商•20余年嵌入式微处理器设计和开发工具设计制造经验•ONESYSTEMFITSALL网址:简介•产品有3个系列–TRACE32-ICE(InCircuitEmulator)–TRACE32-ICD(InCircuitDebugger)–TRACE32-FIRE(FullyIntegratedRISCEmulator)•模块化结构,可按用户要求裁剪,配置•多种仪器的综合体:–通用仿真器–逻辑/状态/时序分析仪–通用计数器/定时器–模式/脉冲信号源–模拟调试器–软件测试–FLASH编程–……TRACE32简介•TRACE32支持600种以上的微处理器.以下是部分常见品牌:AMDARMDallasHitachiIBMIntelMitsubishiMotorolaNationalNECOkiPhilipsSiemensToshibaSGS-ThomsonZilogInfineon...•通用性,更换仿真模块就可调试不同的芯片TRACE32简介•TRACE32支持60种以上的编译器,主要有:ARMBorlandTaskingCAD-ULDiab-SDSGreenhillsHitechHiwareHPIARIntelKeilMicrosoftMotorola...•TRACE32支持6种编程语言:ASM,C,C++,PASCAL,PL/M,ADA或MODULA2•TRACE32支持多种不同的主机操平台,主要有:Windsows3.1/95/98/NTHP-UXSolarisUNIX……TRACE32简介•TRACE32支持的嵌入式操作系统超过20种,主要有NucleusOSERubusCMXRTXCpSOSVxWORKS...•TRACE32支持RTOS调试:–RTOS专用菜单–Kernel资源显示–Task状态显示、统计评估–任务级调试–……TRACE32简介•TRACE32支持FLASH在线编程,FLASH(厂家)主要有:AMDATMELFUJISTUINTEMACRONIXMICRONMITSUBISHIMOTOROLASHARPSSTSTTITOSHIBA…•既支持片外FLASH,也支持片内FLASH•支持8bit、16bit、32bit总线宽度TRACE32简介•TRACE32具有独特的嵌入式软件测试功能:–程序追踪(Trace)•程序流程,选择追踪...–函数性能测试(Performance)•运行时间,函数嵌套...–代码覆盖分析(Coverage)•代码覆盖率,变量检查(读/写)堆栈深度分析...TRACE32简介•TRACE32系列产品具有统一的工作界面,使用同一命令集,易学易用,一通百通•个性化的可编程菜单和功能键,用户可以根据自己的需要增加或删除某些下拉菜单和工具按键TRACE32简介•Memory测试•硬件断点功能,TRACE32可以在FLASH或EPROM中直接调试•支持多CPU调试•丰富的断点类型•支持MMU、FPU调试•上下文追踪系统CTS(ContextTracingSystem)•条件执行功能(STEP、GO)•……TRACE32简介TRACE32-ICD简介•TRACE32-ICD是基于集成在片内的调试和跟踪逻辑(BDM、JTAG、ETM、OCDS、NEXUS)的在线调试器(In-CircuitDebugger)TRACE32-ICD基本结构•TRACE32-ICD典型构成–Controller–Debugger–DebugPortControllerDebuggerDebugPortTRACE32-ICD基本模块•控制/接口模块–PODPRT(并口)–ETH(网口)•调试模块–DEBUG–PowerDEBUG–PowerDEBUGUSB•Trace模块–PowerNEXU–ICR(RISCTrace)–PowerTrace•ROM调试器(ESI)TargetPCISA-KarteTRACE-32-ECUPODSCUwithSCUPODBUSCableICDInterfaceEPROMSimulator(optional)BDMCableBDMConnectorESICableEPROMPCwithWindowsorWorkstationw.UNIXICD-TRACETRACECableCPUClip-Over配置方案•BDM/JTAG调试器(网口)HubEthernetInterfaceBDM/JTAGDebugger•BDM/JTAG调试器(USB口)BDM/JTAGDebuggerwithUSBInterface配置方案•BDM/JTAG调试器,带Trace模块(并口)PRTCablePodbusParallelInterfaceBDM/JTAGDebuggerRISCTraceModule配置方案•BDM/JTAG调试器,带触发探头(并口)PrinterCableParallelInterfaceBDM/JTAGDebuggerTriggerProbe配置方案TRAC32小结•完成板级硬件调试仿真•实时调试跟踪•性能分析•RTOS级
本文标题:第9讲ARM集成开发环境
链接地址:https://www.777doc.com/doc-2113704 .html