嵌入式系统设计与开发ARM嵌入式开发工具_第1页
嵌入式系统设计与开发ARM嵌入式开发工具_第2页
嵌入式系统设计与开发ARM嵌入式开发工具_第3页
嵌入式系统设计与开发ARM嵌入式开发工具_第4页
嵌入式系统设计与开发ARM嵌入式开发工具_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统设计与开发

第9章ARM嵌入式开发工具本章提要

9.1ARM下层开发工具

9.2ARM开发工具概述

9.3ARM的ADS

9.4EmbestIDE的介绍9.1ARM下层开发工具由于程序的编译环境和运行环境不同,所以ARM嵌入式开发采用交叉编译方法进行。首先,在通用计算机上对源程序进行编写、编译、汇编、连接形成可以在目标系统上运行的目标文件;接着,通过连接/调试装置将目标文件下载到目标系统上运行;源程序在目标系统上运行的情况连接装置在计算机中反映出来,开发人员通过反映出的情况根据开发项目的需要进行相应的修改并重复上述操作直至达到项目开发预期结果。因此,可以把ARM嵌入式开发工具分为上层装在计算机中的开发工具、中间的连接装置和下层的ARM芯片本身具有的支持嵌入式开发的工具。ARM嵌入式系统实时开发组织结构图9.1.1JTAG接口

JTAG接口标准是由测试联合行动组(jointtestactiongroup)于1986~1988年推出的基于边界扫描机制的标准化草案。1990年IEEE组织将这些草案标准化,并命名为IEEE1149.1标准,俗称JTAG调试标准。JTAG除了实现通常意义上的调试功能外,还可实现代码下载或单步执行程序等功能。

边界扫描机制主要的思想是:通过在内部逻辑之间,即在内部逻辑的边界上增加串行的可读写的边界扫描单元,从而提供芯片级、板级、系统级的标准测试框架。边界扫描机制可以实现下列目标:测试不同单元之间的连接。测试单个单元的功能。应用边界扫描寄存器完成其他测试功能,如伪随机测试、特征分析和静态测试等。JTAG接口的6个主要信号:1)TestClockInput(TCK)。TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。TCK在IEEE1149.1标准里是强制要求的。2)TestModeSelectionInput(TMS)。TMS信号用来控制TAP状态机的转换,通过TMS信号,可以控制TAP在不同的状态间相互转换。TMS信号在TCK的上升沿有效。TMS在IEEE1149.1标准里是强制要求的。3)TestDataInput(TDI)。TDI是数据输入接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。TDI在IEEE1149.1标准里是强制要求的。4)TestDataOutput(TDO)。TDO是数据输出的接口。所有要从特定边界扫描链采样的保存在寄存器中的数据都是通过TDO接口一位一位串行输出的(由TCK驱动);在芯片串行测试时,将数据传送给下一个芯片。TDO在IEEE1149.1标准里是强制要求的。5)TestResetInput(TRST/nTRST)。TRST可以用来对TAPController进行复位(初始化)即JTAG复位。该信号接口在IEEE1149.1标准里是可选的,因为通过TMS也可以对TAPController进行复位/初始化。为了防止误触发,应在该端加适当上拉电阻。6)SystemReset(nSRST/SRST)。与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。该信号接口在IEEE1149.1标准里是可选的,并不是强制要求的。20针JTAG接口信号

20针JTAG接口连接

9.1.2JTAGTAP

JTAG测试访问端口JTAGTAP是一个通用端口,是外部JTAG接口连接芯片的通道,由JTAGTAP控制器和扫描链构成。通过TAP可以访问芯片提供的所有数据寄存器(DR,dataregister)和指令寄存器(IR,instructionregister)。对整个TAP的控制是通过TAPController完成的。TAP有5个接口信号:TCK、TMS、TDI、TDO和TRST,提供给JTAG接口。扫描链链是由由靠近近芯片片的输输入/输出出管脚脚上各各增加加一个个用于于实现现对芯芯片输输入/输出出信号号进行行观察察和控控制的的移位位寄存存器单单元,,相互互连接接构成成。即即在芯芯片/内部部逻辑辑的周周围形形成一一个边边界扫扫描链链(boundary-scanchain)。。如果需需要捕捕获芯芯片某某个管管脚上上的输输出,,首先先需要要把该该管脚脚上的的输出出装载载到边边界扫扫描链链的寄寄存器器单元元里,,然后后通过过TDO输输出,,得到到相应应管脚脚的输输出信信号。。如果要要在芯芯片的的某个个管脚脚上加加载一一个特特定的的信号号,则则首先先通过过TDI把把期望望的信信号移移位到到与相相应管管脚相相连的的边界界扫描描链的的寄存存器单单元里里,然然后把把该寄寄存器器单元元的值值加载载到相相应的的芯片片管脚脚。在IEEE1149.1标标准里里面,,寄存存器分分为两两大类类:数数据寄寄存器器DR和指指令寄寄存器器IR。边界扫扫描链链属于于数据据寄存存器的的一种种,用用来实实现对对芯片片的输输入/输出出的观观察和和控制制,而而指令令寄存存器用用来实实现对对数据据寄存存器的的控制制。如在芯芯片提提供的的所有有边界界扫描描链中中选择择一条条指定定的边边界扫扫描链链作为为当前前的目目标扫扫描链链,并并作为为访问问对象象就是是由相相应指指令寄寄存器器完成成的。。通过TAP接口口,对对数据据寄存存器进进行访访问的的一般般过程程是::1)通通过指指令寄寄存器器,选选定一一个需需要访访问的的数据据寄存存器。。2)把把选定定的数数据寄寄存器器连接接到TDI和TDO之间间。3)由由TCK驱驱动,,通过过TDI,,把需需要的的数据据输入入到选选定的的数据据寄存器中中,同同时把把选定定的数数据寄寄存器器中的的数据据通过过TDO读读出来来。JTAGTAP控控制制器状状态转转换图图指令寄寄存器器和数数据寄寄存器器工作作过程程:1)系系统上上电后后在TMS信号号驱动动下,,TAPController进入入Test-LogicReset状态态,然然后可可依次次进入入Run-Test/Idle→→Select-DR-Scan→Select-IR-Scan→→Capture-IR→Shift-IR→→Exit1-IR→→Pause-IR→Exit2-IR→→Update-IR,,最后后回到到Run-Test/Idle状状态。。在Capture-IR状状态中中,一一个特特定的的指令令加载载到指指令寄寄存器器中,,进入入到Shift-IR状状态。。在Shift-IR状状态下下,通通过TCK的驱驱动,,可以以将该该指令令送到到指令令寄存存器中中。每每条指指令都都将确确定一一个相相应的的数据据寄存存器。。然后后可以以沿着着Shift-IR→Exit1-IR→→Pause-IR→Exit2-IR→→Update-IR路路径进进行,,也可可以沿沿着其其他的的路径径到达达Update-IR状状态。。在Update-IR状态态,刚刚才输输入到到指令令寄存存器中中的指指令将将更新新指令令寄存存器成成为当当前指指令。。最后后,进进入到到Run-Test/Idle状状态,,指令令生效效,完完成对对指令令寄存存器的的访问问。2)对当当前数据据寄存器器的访问问由指令令寄存器器中的当当前指令令决定。。要访问问由指令令选定的的数据寄寄存器,,需要以以Run-Test/Idle为起起点在TMS信信号驱动动下,依依次进入入Select-DR-Scan→→Capture-DR→→Shift-DR→Exit1-DR→Pause-DR→Exit2-DR→Update-DR,最最后回到到Run-Test/Idle状态态。在这这个过程程中,被被当前指指令选定定的数据据寄存器器会被连连接在TDI和和TDO之间。。通过TDI和和TDO,就可可以将新新的数据据加载到到数据寄寄存器中中,同时时,也可可以捕获获数据寄寄存器中中的数据据。现在常用用的ARM7和和ARM9的微微内核ARM7TDMI与ARM9TDMI都提供了了4条扫扫描链::1)ScanChain0测测试链2)ScanChain1调试试链3)ScanChain2编程程链4)ScanChain3外围围测试链链ARM9TDMI边界界扫描链链1的另另外两个个信号DDEN和SYSSPEED的作用是是:DDEN在ARM9TDMI内部测测试模式式下,是是可获取取、可测测试的。。在ARM9TDMI外部测测试模式式下低电电平表示示将获取取数据总总线上输输入的数数据,高高电平表表示将要要输出扫扫描链上上存储的的数据。。在ARM9TDMI进进入调试试状态时时,SYSSPEED将输出出。低电电平表示示微内核核现在进进入断点点调试,,高电平平表示微微内核进进入观察点调试试状态。。9.1.3EmbeddedICE嵌入入式在线线仿真器器系统中内内核调试试功能,,主要由由4部分分组成::ARM核核内的一一组调试试扩展。。EmbeddedICE宏宏。EmbeddedICE宏宏接口。。基于JTAG接接口的在在主机和和内核之之间的调调试通信信通道。。EmbeddedICE寄寄存器地址宽度功能地址宽度功能000006调试控制寄存器011009观察点0控制值寄存器000015调试状态寄存器011018观察点0控制屏蔽寄存器000101中止状态寄存器1000032观察点1地址值寄存器001006调试通信控制寄存器1000132观察点1地址屏蔽寄存器0010132调试通信数据寄存器1001032观察点1数据值寄存器0100032观察点0地址值寄存器1001132观察点1数据屏蔽寄存器0100132观察点0地址屏蔽寄存器101009观察点1控制值寄存器0101032观察点0数据值寄存器101018观察点1控制屏蔽寄存器0101132观察点0数据屏蔽寄存器调试控制制寄存器器(debugcontrolregister))用来控控制EmbeddedICE,6位分别别对应6种控制制信号,,从低到到高依次次是DBGACK、DBGRQ、INTDIS、、SBZ/RAZ、MonitorModeEnable和EmbeddedICE。DBGRQ调试试请求信信号,通通过将该该信号置置1,可可以强制制ARM7TDMI/ARM9TDMI暂暂停当前前的指令令,进入入调试状状态;INTDIS用用来控制制中断;;SBZ/RAZ任何何时候都都必须被被置0;;MonitorModeEnable用来来控制是是否进入入Monitor模式式;EmbeddedICE-RTDisable用来来控制整整个EmbeddedICE-RT,是是启用还还是禁用用,如果果禁用的的话,ARM7TDMI/ARM9TDMI将一一直保持持在正常常的运行行状态。。通过调试试状态寄寄存器((debugstatusregister)可以以查询当当前系统统的状态态。调试试状态寄寄存器是是可读可可写的,,但一般般只进行行读操作作。5位位信号从从低位到到高位分分别是::DBGACK、DBGRQ、IFEN、、CGENL和和TBIT,其其中DBGACK标识识当前系系统是否否处于调调试状态态,置1表示处处于调试试状态;;DBGRQ标标识DBGRQ信号的的当前状状态;IFEN标识系系统的中中断状态态是启用用还是禁禁用;CGENL标识识调试状状态下对对存储器器的访问问是否完完成;TBIT用来判判断是从从ARM还是Thumb模式式进入调调试状态态。中止状态态寄存器器(abortstatusregister)用用来确定定异常的的产生原原因:断断点、观观察点还还是真的的异常。。调试通信信控制寄寄存器((debugcommscontrolregister)和和调试通通信数据据寄存器器(debugcommsdataregister))是用来来控制和和操作调调试通信信通道。。其他的的寄存器器都是关关于观察察点WATCHPOINT的寄存存器,用用于设置置断点和和观察点点。剩下的12个寄寄存器可可以表示示成如下下形式::观察点0/1地地址值/屏蔽寄寄存器。。观察点0/1数数据值/屏蔽寄寄存器。。观察点0/1控控制值/屏蔽寄寄存器。。9.1.4ETM嵌入式式跟踪宏宏ETM能能捕获指指令和数数据序列列,访问问并把它它们的记记录发送送给芯片片上或芯芯片外的的缓冲器器,ARM的ETM既既可设置置成允许许触发器器工作也也可设置置成允许许跟踪结结果被滤滤出。使使用ETM的过过滤功能能,可以以只捕获获特别中中断的或或特殊文文件的代代码执行行,即相相当于提提供了对对代码的的压缩功功能。ETM由由如下两两部分组组成:跟踪端口口,用于于实时执执行的跟跟踪。代代码执行行时,CPU发发送串行行、经过过编码、、压缩的的分支目目标地址址、管线线状态、、读写数数据给ETM。。触发装置置,规范范已被开开发。该该规范允允许指定定特定应应用所需需的触发发源的准准确集合合。资源源包括地地址和数数据比较较器、计计数器和和定序器器。9.2ARM开发发工具概概述9.2.1JTAG仿真真器JTAG仿真器器也称为为JTAG调试试器,是是通过ARM芯芯片的JTAG边界扫描口口进行调调试的设设备。JTAG仿真器器连接比比较方便便,通过过现有的JTAG边界扫扫描口与与ARMCPU核核通信信,属于于完全非非插入式(即即不使用用片上资资源)调调试,它它无需目目标存储储器,不不占用目标系统统的任何何端口,,而这些些是驻留留监控软软件所必必需的。。另外,由于于JTAG调试试的目标标程序是是在目标标板上执执行,仿仿真更接接近于目标标硬件,,因此,,许多接接口问题题,如高高频操作作限制、、AC和和DC参数数不匹配配与电线线长度的的限制等等均被最最小化了了。使用用集成开发环境境配合JTAG仿真器器进行开开发是目目前采用用最多的的一种调调试方式。。JTAG仿真器器通过ARM处处理器的的JTAG调试试接口与与目标机机通信,,通过并口口或串口口、网口口、USB口与与宿主机机通信。。通过JTAG方式可以完完成:读出/写写入CPU的寄寄存器,,访问控控制ARM处理理器内核核。读出/写写入内存存,访问问系统中中的存储储器和系系统端口口。访问ASIC系统。。访问I/O系统统。控制程序序运行、、停止、、单步执执行和实实时执行行程序、、设置程程序断点点。复位目标标系统、、下载代代码到目目标ARM。实时的设设置基于于指令地地址值、、数据值值的断点点。目前国内内最常用用的几种种该类型型仿真器器:1.EmbestPowerICEforARMEmbestPowerICEforARM是英英蓓特公公司开发发的实时时在线仿仿真器。2.RealViewICERealViewICE是是ARM公司最最新仿真真器。3.TRACE32-ICDTRACE32-ICD是德德国Lauterbach公公司开发发的基于于BDM、JTAG和OCDS等调调试接口口的仿真真工具。。在在线仿仿真器ICE在线仿真真器ICE(in-circuitemulator)是一一种模拟拟CPU的设备,在线线仿真器器使用仿仿真头完完全取代代目标板板上的CPU,,可以完完全仿真ARM芯芯片的行行为,提提供更加加深入的的调试功功能。在在和宿主主机连接的的接口上上,在线线仿真器器也是通通过串行行端口或或并行端端口、网口和USB口口通信。。在线仿仿真器为为了能够够全速仿仿真时钟钟速度很很高的ARM处理理器,通通常必须须采用极极其复杂杂的设计计和工艺艺,因而而其价格比比较昂贵贵。在线线仿真器器通常用用在ARM硬件件开发中中,软件件开发中使使用较少少。集集成开开发环境境本身带带的仿真真软件以Embest为例,,编译好好运行在在目标系系统上的的文件后后,在ProjectSettings对话框框的Remote选项项卡上,,选择Remotedevice下下拉列表表框的SimArm7选项,,即可通通过软件件形式在在IDE中进行仿仿真。EmbestIDE软件仿仿真设置置Multi2000模块与与应用系系统该IDE开发环环境主要要包括::工程生成成工具((projectbuiler))源代码调调试器((source-leveldebugger)事件分析析器(eventanalyzer)性能剖析析器(performanceprofiler)实时运行行错误检检查工具具(run-timeerrorchecking)图形化浏浏览器((graphicalbrower)文本编辑辑器(texteditor)版本控制制工具((versioncontrolsystem)9.2.5RVDS集成成开发环环境RealViewDeveloperSuite工具是是ARM公司继继ADS之后推推出的新一代ARM集集成开发发环境,,是RealViewARM新一一代开发发工具集中的集集成开发发环境部部分,目目前的最最新版本本是2.2。RealViewARM完完整的开开发工具具,包括括集成开开发环境境、在线线调试工具仿仿真器等等。适用用于采用用多ARM内核核结构或或ARM内核加加DSP内内核混合合结构的的系统,,为开发发人员提提供一个个“认识识操作系系统(OS-aware))”的多多内核调调试器。。新产品品是第一一个能对对多ARM和DSP内核真真正同步步进行高高集成度度调试的的调试器器。它通通过单一一内核程序序进行多多内核调调试,并并采用了了MentorGraphics的嵌入入技术。支持持的操作作系统包包括Symbian、、ThreadX和Nucleus等。RVDS集成开开发环境境的主要要特性包包括编译译工具、、调试工工具和指指令集仿真真工具。。编译工具具和调试试工具的的特点::(1)RealView编译译工具全面优化化ISOC++编译译器。ARM、、Thumb、、C、C++编编译,ARM、、Thumb汇汇编和宏宏汇编。。ARM连连接器。。库的连接接和管理理。映像文件件转化功功能。(2)RVD调调试工具具支持多核核(ARM+DSP))调试和和单核ARM/DSP调试。。自动识别别Symbian、ThreadX和Nucleus等等操作系系统。具有跟踪踪、分析析程序功功能。9.3ARM的ADSADS即即ARMDeveloperSuite,,是ARM公司司推出的的新一代代ARM集成开发发工具,,用来取取代ARM公司司在此前前推出的的开发工工具ARMSDT(ARMsoftwaredevelopmenttoolkit)。9.3.1ADS介绍ARMADS使用CodeWarriorIDE集集成开发发环境替替代了SDT的的工程管理器器APM,使用用AXD(ARMextendeddebugger)替替换了SDT的的调试工工具ADW,可可以在Windows和RedHatLinux上运运行。CodeWarriorIDE为为用户提提供下面面的功能能:源代码编编辑器,,集成在在CodeWarriorIDE浏览器器中,能能够根据据语法格格式,使使用不同同的颜色色显示代代码。源代码浏浏览器,,保存了了在源码码中定义义的所有有符号,,能够使使用户在在源码中中快速方方便的跳跳转。查找和替替换功能能,用户户可在多多个文件件中,利利用字符符串通配配符,进进行字符符串的搜搜索和替替换。文件比较较功能,,可以使使用户比比较路径径中的不不同文本本文件内内容。ARMADS由6部部分组成成:1)代码码生成工工具。2)集成成开发环环境。3)调试试器。4)指令令集模拟拟器。5)ARM开发发包。6)ARM应用用库。9.3.2ADS应用1.建建立一一个工程程工程将所所有的源源码文件件组织在在一起,,并能够够决定最最终生成成文件存放路径径,输出出文件格格式等。。1)首先先在CodeWarrior中新建建一个工工程的方方法有两两种,可可以在工具栏中中单击New按按钮,也也可以在在File菜单单中选择择New命令。。CodeWarrior初始始工程对对话框对话框中中为用户户提供了了7种可可选择的的工程类类型:ARMExecutableImage:用用于由ARM指指令的代代码生成成一个ELF格格式的可可执行映映像文件件。ARMObjectLibrary::用于由由ARM指令的的代码生生成一个个armar格格式的目目标文件件库。EmptyProject:用于于创建一一个不包包含任何何库或源源文件的的工程。。MakefileImporterWizard::用于将将VisualC的的nmake或或GNUmake文文件转入入到CodeWarriorIDE工工程文件件。ThumbARMInterworkingImage:用于于由ARM指令令和Thumb指令的的混和代代码生成成一个可可执行的的ELF格式的的映像文文件。ThumbExecutableimage:用于于由Thumb指令创创建一个个可执行行的ELF格式式的映像像文件。。ThumbObjectLibrary:用用于由Thumb指令令的代码码生成一一个armar格式的的目标文文件库。。选择ARMExecutableImage工程,,在Projectname文本本框中输输入工程程文件名名如Test,,单击Set按按钮,可可更改该该工程保保存的路路径,将将这些设设置好后后,单击击“确定定”即可可建立一一个新的的名为Test.mcp的ADS工工程。*.mcp文件件是ARM的的工程文文件,当当建立一一个工程程文件后后,可以以通过打打开该工工程的*.mcp文件件在CodeWarrior中打开开该工程程。这时会出出现Test.mcp的窗口口。可以看到到它默认认的目标标调试环环境是DebugRel,单击击旁边的的下三角按钮钮,可以以看到还还有另外外两个可用用的目标标调试环环境,分分别为Release和和Debug。。工程窗口口这3个目目标调试试系统的的含义::DebugRel:表表示在生生成目标标的时候候,会为为每一个个源文件件生成调调试信息息。Debug:表表示该目目标为每每一个源源文件生生成最完完全的调调试信息息。Release:表示示该目标标不会生生成任何何调试信信息。有3个标标签,分分别为Files、LinkOrder和Target,默默认的是是显示第第一个Files选项项卡。通通过在该该空白的的选项卡卡上右击击,选择择AddFiles命令可可以把要要用到的的源程序序添加到到该工程程中。2)打开开ADS的MetrowerksCodeWarrior集集成开发发环境IDE,,单击工具栏栏上的新新建文本本文件的的图标,,可在在出现的的IDE下的空空白页面上上输入要要调试的的源文件件,并以以Test1.s为文文件名后后缀保存。3)将文文件保存存在刚才才所建工工程的文文件夹下下,文件件名为Test1.s。最小小化该页页面,也也可以在在Project菜单单中,选选择AddFiles命令令,打开开文件对对话框,,用户可可以把已已经存在在的文件件添加到工程中中,也可可以在刚刚才所建建工程中中添加该该工程。。在工程中中添加文文件2.编编译和链链接工程程(1)生生成目标标的配置置选择Edit|DebugRelSettings命令令或直接接单击工工具栏上上的DebugRelSettings图标标,可以以对生成成的目标标文件进进行配置置。这个选项会会因创建建工程时时选择目目标调试试系统不不同而不不同。DebugRel设置置对话框框1)Target设置置选项。。TargetName文本本框显示示了当前前的目标标设置。。Linker下下拉列表表框供用用户选择择要使用用的链接接器。这这里默认认的是ARMLinker,使用用该链接接器,将将使用ARMLinker链接编编译器和和汇编器器生成的的工程文文件作为为相应目目标文件件。另外两个个可选项项,None表表示不用用任何链链接器即即工程中中的所有有文件都都不会被被编译器器或汇编编器处理理。ARMLibrarian表表示将编编译或汇汇编得到到的目标标文件转转换为ARM库库文件。。这里使使用默认认的链接接器ARMLinker。。Post-Linker下拉拉列表框框表示链链接后,,对输出出文件进进行怎样样的操作作。2)LanguageSettings。ARMADS的汇编编器是armasm。。如图所所示,这这里可以以进行很很多设置,包包括运行行的目标标处理器器的内核核系列,,可根据据运行的的目标板处理器器类型进进行选择择。命令行工工具选项项设置3)Linker设置置。选中ARMLinker,,打开对对话框。。对话框框的主要要标签选选项对最最终生成成的文件件有着直直接的影影响。在选项卡卡Output中,Linktype选项项中提供供了3种种链接方方式。Partial方式表表示链接接器只进进行部分分链接,,经过部部分链接接生成的的目标文文件,可可以作为为以后进进一步链链接时的的输入文文件。Simple方方式是默默认的链链接方式式,它链链接生成成简单的的ELF格式的的目标文文件,使使用的是是链接器器选项中中指定的的地址映映射方式式。Scattered方式式使链接接器根据据scatter格式式文件指指定地址址映射,,生成复复杂的ELF格格式的映映像文件件,这个个选项一一般情况况下不用用。这里里选择常常用默认认的Simple方式式。链接器设设置在选中Simple方方式后,,就会出出现Simpleimage,其其各项含含义:ROBase:即Read-only段段,段是是指描述述映像文文件的代代码或数数据块。。该段的的加载域域和运行行域为同同一个地地址,默默认是0x8000。。这里要要根据实实际的硬硬件SDRAM的地址址空间来来修改这这个地址址,保证证在这里里填写的的地址,,是程序序运行时时SDRAM地地址空间间所能覆覆盖的地地址。RWBase:即Read-write段,这这个文本本框设置置了包含含RW和和ZI((zero-initialized)输输出段的的运行域域地址。。如果选选中split选项,,链接器器生成的的映像文文件将包包含两个个加载域域和两个个运行域域。此时时,在RWBase中所输输入的地地址为包包含RW和ZI输出段段的域设设置了加加载域和和运行域域地址。。Ropi:选中中这个复复选框将将告诉链链接器使使包含有有RO输输出段的的运行域域位置无无关。使使用这个个选项,,链接器器将保证证:首先先检查各各段之间间的重地地址是否否有效,,其次确确保任何何由ARM链接接器armlink自自身生成成的代码码是只读读位置无无关的。。Rwpi:选中中该复选选框将会会告诉链链接器使使包含RW和ZI输出出段的运运行域位位置无关关。如果果它没有有被选中中,域就就标识为为绝对。。每一个个可写的的输入段段必须是是读写位位置无关关的。如如果被选选中,链链接器检检查可读读/可写写属性的的运行域域的输入入段是否否设置了了位置无无关属性性,检查查在各段段之间的的重地址址是否有有效。SplitImage:选中这个个复选框把包包含RO和RW输出段的的加载域分成成两个加载域域:一个是包包含RO输出出段的域,一一个是包含RW输出段的的域。Relocatable:选中这个个复选框保留留了映像文件件的重地址偏偏移量。这些些偏移量为程程序加载器提提供了有用信信息。Options选项卡,,用于指明存存储器的替换换方法、调试试信息的设置置和映像文件件的初始入口口地址等信息息。链接器的操作作选项卡设置置(2)进行编编译和链接选择Project|make命令或单击击工具栏上的的Make图图标,就可以以对工程进行编编译和链接了了。在工程Test所在在目录下,会会生成一个名为“工程程名_data目录”,,在本例中就就是“Test_data目录”,,在这个目录下不不同类别的目目标对应不同同目录。本例例使用的是DebugRel目标,,所以生成的的最终文件都都应该在该目目录下。进入到DebugRel目目录中,会看看到生成的映映像文件和二二进制文件,映像文件件用于调试,,二进制文件件可以烧写到到开发板或实实验箱的Flash中运行。。编译和链接过过程3.用AXD进行代码码调试AXD是ADS软件中独独立于CodeWarriorIDE的代码码调试工具,,打开AXD软件,默认认打开的目标标是ARMulator。ARMulator是在主系统统上用软件模模拟各种ARM处理器核核行为的程序序。这是最常常用的一种调调试工具,要要使用AXD必须首先打打开已经生成成的.axf文件,该文文件就是含有有调试信息的的可执行ELF格式的映映像文件。在没有添加其其他仿真驱动动程序前,Target项只有两两项分别为ADDP((JTAG硬硬件仿真)和和ARMUL(即ARMulator软件仿真真)。如果使使用其他硬件件仿真器连接接到相应的目目标板或实验验箱上,可以以打开AXD工具栏的Options|ConfigureTarget命令进行行添加。在添添加之前首先先要进行相应应仿真器驱动动程序的安装装,将仿真器器的驱动文件件复制到ADS的BIN目录下,如如C:\ProgramFiles\ARM\ADSv1_2\BIN。AXD的选择择目标环境对对话框AXD调试环环境9.4EmbestIDE介介绍概概述1.EmbestIDE集集成开发环境境EmbestIDE的的英文全称是是EmbestIntegratedDevelopmentEnvironment,是由深圳圳市英蓓特信信息技术有限限公司开发,,应用于嵌入式软软件开发的集集成开发环境境。提供嵌入入式应用软件件开发平台,包括括一整套完备备的面向嵌入入式系统的开开发和调试工工具:有编辑辑器、编译器器、链接器、、调试器、工工程管理器和和底层调试接口设设备(BDM/JTAG仿真器)等等。集成开发发环境IDE的界面同MicrosoftVisualStudio环境相似似,可以在EmbestIDE集成开开发环境中创创建工程、打打开工程,建建立、打开和和编辑文件,编译、、链接、运行行、调试嵌入入式应用程序序。EmbestIDE工工具集示意图图2.EmbestIDE主要特特征EmbestIDE可可运行于Windows系列操作系系统,支持ARM7和ARM9系列列处理器、Motorola公司的的部分处理器器。与处理器器和调试设备相关关模块采用即即插即用方式式,可以在同同一个工作区区中同时管理多个个应用软件和和库工程,各各工程均可配配置不同的处处理器和仿真器,,用户可以在在各工程中无无缝切换。EmbestIDEforARM的主要要特性:支持开发语言言:ANSIC、EmbeddedC++、汇编语言言。类似VisualStudio的的用户界面,,支持打印功功能,支持文文件内查找功功能和FindinFiles功能,支持持C语言程序序函数列表及及定位。工程管理器::以project为单单位管理用户户的应用程序序,进行编译译链接选项定定制。源码编辑器::支持标准的的文本编辑功功能、syntax-color、、用户定义语语言模板、语语法关键字、、关键字色彩彩显示和Hex文件编辑辑器。编译工具:使使用自由软件件GNU的GCC编译链链接器,同时时兼容ARMSDT编编译工具套件件,支持C语语言、汇编语语言等。调试器:源码码级调试,提提供了图形和和命令行两种种调试方式。。可进行断点点设置、单步步执行、异常常处理,可查查看修改存储储器、寄存器器、变量等,,可查看函数数栈、堆栈;;可进行反汇汇编、提供图图形界面操作作和命令行操操作方式,支支持源程序、、反汇编程序序和混合窗口口显示,还提提供了程序下下载功能等。。3.EmbestIDE主框架架窗口EmbestIDE主主界面图开发环境主框框架窗口由标标题栏、菜单单栏、工具栏栏、工作区、、客户区、输输出窗口和状状态栏等组成成。主框架窗窗口的最上端端为标题栏,,用于显示当当前打开的文文件名。标题题栏下面为菜菜单栏和工具具栏,工具栏栏的下面为工工作区和客户户区。工作区区用于显示当当前打开工程程的有关信息息,包括工程程的文件组成成等内容。客客户区用于文文本编辑器进进行C、汇编编等源文件的的编辑。输出出窗口通常在在工作区和客客户区的下面面,用于输出出编译信息、、调试信息、、命令行输入入/输出和输输出一些查询询结果信息等等。主框架窗窗口的最底端端为状态栏,,用于显示关关于菜单栏、、工具栏等的的简单说明信信息以及文本本编辑器中当当前光标所在在的行列号等等。各个栏、、区的功能和和VisualStudio中基基本相同,这这里不再赘述述。工工程示例例从一个简单工工程的创建、、编译、下载载到调试运行行来说明EmbestIDE的应用。1.工程的创创建打开EmbestIDE软件,选选择File|NewWorkspace命命令建立一个新的的工程,在弹弹出的对话框框中输入工程程的名称,并并确定工程存放的的路径。单击击OK按钮保保存自己的设设置。工程对话框2.输入源源文件并加到到工程中选择File|New命令或单单击工具栏上上的新建文本本文件图标,,在客户区中输输入自己的源源文件。该文文件完成将十十六进制的AA、56存储到内内存中0x8000开始始的存储单元元中。保存文件到工工程Test所在的目录录下,注意文文件名应以.s为扩展名,这里保存存为Test.s。在工作区的ProjectSourceFiles中中右击,在弹弹出的对话框框中选择AddFilestoFolder命命令,添加Test.s到工程Test中。3.编译工工程在编译工程前前先要对工程程文件将要运运行的目标环环境进行设置置。选择Project|Settings命令,弹弹出对话框。。设置完CPU的类型和和所用的编译译工具后,单单击OK按钮钮。单击工具栏上上的Build图标,,或按按F7快捷键键对工程进行行编译。如果果文件有错误误会在输出窗窗口输出错误误信息,可根根据错误信息息进行修改。。如果没错误误将输出Command(s)successfullyexecuted信息。处理器设置选选项卡4.连接的的设置这里指的是计计算机和目标标板之间连接接的仿真器设设置,可根据据实际的连接形式式进行设置。常规调试属性性配置页下载信息属性性配置页5.调试和和下载选项设设置选择Project|Setting命令令中的Debug标签对对软件调试进进行相关设置。调试设设置有3个类类别选择页,,分别为调试试常规(General)信息息配置页、下下载(Download)信息配置置页和内存映像(MemoryMap)配配置页。符号文件栏((Symbolfile)用于输输入待调试的的符号文件名名称及其目录录。符号文件件含有调试信信息内容,常常见的有Elf格式、Coff格式式,提供调试试所需要的调调试信息。本本文件空缺时时,用户只能能进行汇编级级调试。下载载文文件件栏栏((Downloadfile))用用于于输输入入下下载载到到目目标标系系统统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论