嵌入式系统设计与开发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将将输输出出。。低低电电平平表表示示微微内内核核现现在在进进入入断断点点调调试试,,高高电电平平表表示示微微内内核核进进入入观观察点点调调试试状状态态。。嵌嵌入入式式在在线线仿仿真真器器系统统中中内内核核调调试试功功能能,,主主要要由由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控控制值值/屏屏蔽寄寄存器器。嵌嵌入式式跟踪踪宏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开始始的存储单元元中。保存文件到工工程Te

温馨提示

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

评论

0/150

提交评论