1TMTHEARCHITECTUREFORTHEDIGITALWORLDARM集成开发环境介绍主讲人:张志刚Barry@watertek.com2003-09-19Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.旋极科技珠海研讨会2TM2Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2集成开发环境介绍软件程序编译,PC模拟调试TRACE32仿真调试器介绍硬件板级调试SOC设计开发环境介绍ARM芯片设计议程3TM3Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2集成开发环境介绍ADS1.24TM4Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2简介ADS1.2是为嵌入式ARM设计的一整套软件开发工具从最初的软件原型到最终优化的ROM代码。ADS1.2发布于2001的12月份支持的主机系统IBMcompatiblePCswithWindows95,98,2000,MEorNT4SunworkstationswithSolaris2.6,2.7or2.8HPworkstationswithHPUX10.20,11RedHatLinux6.2&7.1使用FLEXLM管理器,管理它的LICENSE45天的评估版软件第三方工具支持:©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2新特性支持最新的ARM内核ARM926EJ-S,ARM9EJ-S,VFPv2支持V5TEJ体系结构ARMulator仿真执行JavabytecodeBytecode显示Jazelle状态库管理器可合并各种库(RTOS,TCP/IPX通讯协议栈)使用pragmas,可实现出色代码和数据的布局,为可重定位的代码设置新的链接选项编译器同时输出汇编码和目标码6TM6Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2-主要模块ANSIC编译器-armccandtccISO/EmbeddedC++编译器-armcppandtcppARM/Thumb汇编器-armasmLinker-armlinkWindows集成开发环境-CodeWarriorDebugger-AXDarmsd可向前兼容格式转换器-fromelf7TM7Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2主要模块库管理器-armarCandC++库指令级仿真器-ARMulator同时包含ARMFirmwareSuiteARMApplicationLibraryRealMonitor8TM8Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2工具的使用C++sourcemodule(s)ASMsourcemodule(s)Csourcemodule(s)命令行makefileIDEfromelfROMformatDisassemblyCodesizeDatasizeetc.ofromelf.oarmarLibrary.carmcpp-ctcpp-carmcc-ctcc-carmasm.cppELFobjectfile(s)withDWARF2debugtables.s.o.axfarmlinkLibrariesELF/DWARF2image9TM9Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.CodeWarrior-IDEC/C++BrowserC/C++SensitiveEditorProjectManager10TM10Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.AXDDockingwindowsDockingtoolbarsRegistersSource/DisassemblyMemory11TM11Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.C/C++编译器–关键特性完全支持ANSI及其兼容C编译器他属于是ISO/EmbeddedC++compilers支持所有的ARM处理器(用‘-cpu’)e.g.ARM7TDMI,StrongARM,ARM9TDMI,ARM9E,ARM10,Xscale优化的代码可以实现源码级调试:-O0:最佳的调试信息,没有优化(-g)“Debug”-O1:大部分优化,比较好的调试信息(–g)“DebugRel”-O2:完整优化,有限的调试信息“Release”支持ROPI/RWPI(PI-PositionIndependent)内嵌汇编C和汇编的交叉列表(‘-S-fs’)12TM12Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.C/C++Compiler–数据类型下面这些数据类型可支持char8bitbyteshort16bithalf-wordint32bitwordlong32bitintegerfloat32bitIEEEsingle-precisiondouble64bitIEEEdouble-precisionpointers32bitslonglong64bitintegerpointer,char(默认为unsigned,可用-zc变为signed)之外,上述所有的默认值为Signed。13TM13Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2提供的库ANSIC库完整的文件处理,字符,数学库等默认情况下,使用semihostedSWI’s和主机调试器通讯比如:文件操作,I/O操作这些库、函数包不需要为重定向而重新编译。适合嵌入式使用-不必设单独的内嵌变量自动选择正确的库决定于你所使用的字节对齐方式,独立的位置,堆栈的检查等。保留了runtime功能支持和浮点支持C++库包含:标准c++库(2.01版本)C++编译器包含runtime功能支持14TM14Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2支持的调试方式ELF/DWARF2imageHostrunningdebuggerMulti-ICEAngelARMulator指令级仿真串口方式调试,目标板上运行monitorJTAG调试15TM15Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ARMulator针对某种ARM内核进行指令级仿真可以完成精确的指令仿真允许对程序的执行进行校验可以对存储器周期进行统计允许为指定的存储器和时钟速度,设定系统的基准根据要求可以配置所有的ARM核来进行调试最新的含CACHE的核e.gARM946E,ARM966E,ARM10(inclVFP),XScale支持TRACE-指令追踪提供扩展的工具包所有的模板用C编写,可以容易地用VISUALC++增加新的外设模板也可仿真IRQ或FIQ中断可参考ADS1.2DebugTargetGuide有关模板的详细说明16TM16Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.Multi-ICE5wireJTAG调试的系统就是最终系统也存在第三方的协议转换器产品(canberunonseparatemachines)TAPEmbeddedICELogic-RT17TM17Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2提供的ARM应用库应用库是一个优化的软件包:包括数学运算和应用等由ARM体系结构专家手工制作的优秀的ARM例子程序完全源代码,包含说明文档和创建(BUILD)工具在用户应用软件里使用,是免版税的软件包包括:DSP变换:-DCT,FFTDSP过滤-FIR,IIR&LMS数学计算快速定点乘法和除法平方根,立方根,三角函数有符号的饱和加法其它大量有用的函数18TM18Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.ADS1.2小结完成软件程序的编译,连接定位完成初级的软件模拟调试工作初步验证程序的正确性为后续板级硬件集成调试提供前提条件(Multi-ICE)……19TM19Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32TRACE32仿真调试器介绍20TM20Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32德国Lauterbach公司出品致力于开发全能型开发工具-仿真器,调试器成立于1979,最大最全的仿真器,调试器设计制造商20余年嵌入式微处理器设计和开发工具设计制造经验ONESYSTEMFITSALL网址:©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32简介产品有3个系列TRACE32-ICE(InCircuitEmulator)TRACE32-ICD(InCircuitDebugger)TRACE32-FIRE(FullyIntegratedRISCEmulator)22TM22Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32简介模块化结构,可按用户要求裁剪,配置多种仪器的综合体:通用仿真器逻辑/状态/时序分析仪通用计数器/定时器模式/脉冲信号源模拟调试器软件测试FLASH编程……23TM23Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32简介TRACE32支持600种以上的微处理器.以下是部分常见品牌:AMDARMDallasHitachiIBMIntelMitsubishiMotorolaNationalNECOkiPhilipsSiemensToshibaSGS-ThomsonZilogInfineon...通用性,更换仿真模块就可调试不同的芯片24TM24Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32简介TRACE32支持60种以上的编译器,主要有:ARMBorlandTaskingCAD-ULDiab-SDSGreenhillsHitechHiwareHPIARIntelKeilMicrosoftMotorola...TRACE32支持6种编程语言:ASM,C,C++,PASCAL,PL/M,ADA或MODULA2TRACE32支持多种不同的主机操平台,主要有:Windsows3.1/95/98/NTHP-UXSolarisUNIX……25TM25Copyright2003-15©ShenZhenWatertekS.&T.Co.,Ltd.TRACE32简介TRACE32支持的嵌入式操作系统超