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

下载本文档

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

文档简介

嵌入式系统设计与开发第9章ARM嵌入式开发工具,本章提要,9.1ARM下层开发工具9.2ARM开发工具概述9.3ARM的ADS9.4EmbestIDE的介绍,9.1ARM下层开发工具,由于程序的编译环境和运行环境不同,所以ARM嵌入式开发采用交叉编译方法进行。首先,在通用计算机上对源程序进行编写、编译、汇编、连接形成可以在目标系统上运行的目标文件;接着,通过连接/调试装置将目标文件下载到目标系统上运行;源程序在目标系统上运行的情况连接装置在计算机中反映出来,开发人员通过反映出的情况根据开发项目的需要进行相应的修改并重复上述操作直至达到项目开发预期结果。因此,可以把ARM嵌入式开发工具分为上层装在计算机中的开发工具、中间的连接装置和下层的ARM芯片本身具有的支持嵌入式开发的工具。,ARM嵌入式系统实时开发组织结构图,9.1.1JTAG接口,JTAG接口标准是由测试联合行动组(jointtestactiongroup)于19861988年推出的基于边界扫描机制的标准化草案。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/IdleSelect-DR-ScanSelect-IR-ScanCapture-IRShift-IRExit1-IRPause-IRExit2-IRUpdate-IR,最后回到Run-Test/Idle状态。在Capture-IR状态中,一个特定的指令加载到指令寄存器中,进入到Shift-IR状态。在Shift-IR状态下,通过TCK的驱动,可以将该指令送到指令寄存器中。每条指令都将确定一个相应的数据寄存器。然后可以沿着Shift-IRExit1-IRPause-IRExit2-IRUpdate-IR路径进行,也可以沿着其他的路径到达Update-IR状态。在Update-IR状态,刚才输入到指令寄存器中的指令将更新指令寄存器成为当前指令。最后,进入到Run-Test/Idle状态,指令生效,完成对指令寄存器的访问。,2)对当前数据寄存器的访问由指令寄存器中的当前指令决定。要访问由指令选定的数据寄存器,需要以Run-Test/Idle为起点在TMS信号驱动下,依次进入Select-DR-ScanCapture-DRShift-DRExit1-DRPause-DRExit2-DRUpdate-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寄存器,调试控制寄存器(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。实时的设置基于指令地址值、数据值的断点。,目前国内最常用的几种该类型仿真器:1EmbestPowerICEforARMEmbestPowerICEforARM是英蓓特公司开发的实时在线仿真器。2RealViewICERealViewICE是ARM公司最新仿真器。3TRACE32-ICDTRACE32-ICD是德国Lauterbach公司开发的基于BDM、JTAG和OCDS等调试接口的仿真工具。,9.2.2在线仿真器ICE在线仿真器ICE(in-circuitemulator)是一种模拟CPU的设备,在线仿真器使用仿真头完全取代目标板上的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能。在和宿主机连接的接口上,在线仿真器也是通过串行端口或并行端口、网口和USB口通信。在线仿真器为了能够全速仿真时钟速度很高的ARM处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在ARM硬件开发中,软件开发中使用较少。,9.2.3集成开发环境本身带的仿真软件以Embest为例,编译好运行在目标系统上的文件后,在ProjectSettings对话框的Remote选项卡上,选择Remotedevice下拉列表框的SimArm7选项,即可通过软件形式在IDE中进行仿真。,EmbestIDE软件仿真设置,9.2.4Multi2000集成开发环境Multi2000是美国GreenHills软件公司()开发的集成开发环境,支持C/C+/EmbeddedC+/Ada95/Fortran编程语言的开发和调试,可运行于Windows平台和UNIX平台,并支持各类设备的远程调试。Multi2000支持的编译器除了该公司的各类编译器和其他遵循EABI(embeddedapplicationbinaryinterface)标准的编译器外,还支持16位、32位、64位的处理器和DSP,包括PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等,并支持多处理器调试。Multi2000包含完成一个软件工程所需要的所有工具,这些工具可以单独使用,也可集成第三方系统工具。,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的ADS,ADS即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段,段是指描述映像文件的代码或数据块。该段的加载域和运行域为同一个地址,默认是0 x8000。这里要根据实际的硬件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:ProgramFilesARMADSv1_2BIN。,AXD的选择目标环境对话框,AXD调试环境,9.4EmbestIDE介绍,9.4.1概述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中基本相同,这里不再赘述。,9.4.2工程示例从一个简单工程的创建、编译、下载到调试运行来说明EmbestIDE的应用。1工程的创建打开EmbestIDE软件,选择File|NewWorkspace命令建立一个新的工程,在弹出的对话框中输入工程的名称,并确定工程存放的路径。单击OK按钮保存自己的设置。,工程对话框,2.输入源文件并加到工程中选择File|New命令或单击工具栏上的新建文本文件图标,在客户区中输入自己的源文件。该文件完成将十六进制的AA、56存储到内存中0 x8000开始的存储单元中。保存文件到工程Test所在的目录下,注意文件名应以.s为扩展名,这里保存为Test.s。在工作区的ProjectSourceFiles中右击,在弹出的对话框中选择AddFilestoFolder命令,添加Test.s到工程Test中。,3.编译工程在编译工程前先要对工程文件将要运行的目标环境进行设置。选择Project|Settings命令,弹出对话框。设置完CPU的类型和所用的编译工具后,单击OK按钮。单击工具栏上的Build图标,或按F7快捷键对工程进行编译。如果文件有错误会在输出窗口输出错误信息,可根据错误信息进行修改。如果

温馨提示

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

评论

0/150

提交评论