第6章ADS集成开发环境的使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章ADS集成开发环境的使用吉林大学珠海学院文全刚教学目的•掌握ADS集成开发环境的使用:嵌入式系统开发流程CodeWarriorIDE的使用AXD调试器的使用教学内容•6.1嵌入式系统开发基础•6.2ADS1.2集成开发环境介绍•6.3程序的编辑•6.4程序的编译•6.5程序的连接•6.6程序的调试6.1嵌入式系统开发基础•6.1.1嵌入式系统开发流程•6.1.2嵌入式软件开发•6.1.3ARMDeveloperSuite(ADS)的安装6.1.1嵌入式系统开发流程•嵌入式系统开发的基本流程为:1.系统定义与需求分析。2.系统设计方案的初步确立。3.初步设计方案性价比评估与方案评审论证。4.完善初步方案、初步方案实施。5.软硬件集成测试。6.系统功能性能测试及可靠性测试。•嵌入式系统的开发必然有其自身的许多特点:软硬件可配置、功能可靠、成本低、体积小、功耗低、实时性强。嵌入式系统受功能和具体应用环境的约束,其开发流程就就不同于一般的通用计算机系统。•嵌入式系统设计是使用一组物理硬件和软件来完成所需功能的过程,系统是指任何由硬件、软件或者两者的结合而构成的功能设备。•由于嵌入式系统是一个专用系统,所以在嵌入式产品的设计过程中,软件设计和硬件设计是紧密结合、相互协调的。这就产生了一种全新的设计理论——软硬件协同设计。如图6-1所示。图6-1软硬件协同设计•这种方法的特点是,在设计时从系统功能的实现考虑,把实现时的软硬件同时考虑进去,硬件设计包括芯片级“功能定制”设计。既可最大限度地利用有效资源,缩短开发周期,又能取得更好的设计效果。•系统协同设计的整个流程从确定系统要求开始,包含系统要求的功能、性能、功耗、成本、可靠性和开发时间等。这些要求形成了由项目开发小组和市场专家共同制定的初步说明文档。•系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选定的语言对各个对象子系统加以描述,产生设计说明文档。•其次,是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可建立多种模型,因此应根据系统的仿真和先前的经验来选择模型。6.1.2嵌入式软件开发•不同于通用计算机和工作站上的软件开发工程,一个嵌入式软件的开发过程具有很多特点和不确定性。其中最重要的一点是软件跟硬件的紧密耦合特性。•由于嵌入式系统的灵活性和多样性,这样就给软件设计人员带来了极大地困难。第一,在软件设计过程中过多地考虑硬件,给开发和调试都带来了很多不便;第二,如果所有的软件工作都需要在硬件平台就绪之后进行,自然就延长了整个的系统开发周期。•为了解决这个问题,我们可以在特定的EDA工具环境下面进行开发,通过后再进行移植到硬件平台的工作。这样既可以保证程序逻辑设计的正确性,同时使得软件开发可平行甚至超前于硬件开发进程。•我们把脱离于硬件的嵌入式软件开发阶段称之为“PC软件”的开发,图6-2说明了一个嵌入式系统软件的开发模式。图6-2嵌入式软件开发方法在“PC软件”开发阶段,可以用软件仿真,即指令集模拟的方法,来对用户程序进行验证。•在模拟环境下,用户可以设置ARM处理器的型号、时钟频率等,同时还可以配置存储器访问接口的时序参数。程序在模拟环境下运行,不但能够进行程序的运行流程和逻辑测试,还能够统计系统运行的时钟周期数、存储器访问周期数、处理器运行时的流水线状态(有效周期、等待周期、连续和非连续访问周期)等信息。这些宝贵的信息是在硬件调试阶段都无法取得的,对于程序的性能评估非常有价值。为了更加完整和真实地模拟一个目标系统,ARMulator和ISS还提供了一个开放的API编程环境。用户可以用标准C来描述各种各样的硬件模块,连同工具提供的内核模块一起,组成一个完整的“软”硬件环境。在这个环境下面开发的软件,可以更大程度地接近最终的目标。利用这种先进的EDA工具环境,极大地方便了程序开发人员进行嵌入式开发的工作。当完成一个“PC软件”的开发之后,只要进行正确的移植,一个真正的嵌入式软件就开发成功了。•由上可知,嵌入式软件开发是基于一个交叉开发环境,其开发流程如下:开发环境的建立、源代码编辑阶段、交叉编译和链接、重定位和下载、联机调试,如图6-3所示。图6-3嵌入式软件开发流程图6.1.3ARMDeveloperSuite(ADS)的安装•在安装新版本的ADS之前,要删除其它版本,从而使安装的版本更完美地工作。下面介绍ADS1.2的安装步骤。在ADS1.2安装目录下,找到SETUP.EXE。图6-4ADS安装步骤一在图6-4所示的界面中,双击执行SETUP.EXE,进入安装界面。点击Browse,确定安装目录,或者按照默认目录安装。并点击Next,如图6-5所示。图6-5ADS安装步骤二•在图6-6所示的界面中选择安装类型,选Full类型安装。并点击Next。图6-6ADS安装步骤三•安装完毕,如图6-7所示。图6-7ADS安装步骤四•安装License。选择要执行的动作为InstallLicense,点击Next,如图6-8所示。图6-8ADS安装步骤五点击Browse,选择license.dat或license.txt所在的路径,然后打开,如图6-9所示。图6-9ADS安装步骤六•安装license完毕,点击完成,如图6-10所示。图6-10ADS安装步骤七•ADS1.2全部安装完毕,点击Finished。以上是ADS1.2的安装全过程。在“开始”菜单中可以找到安装的程序。如图6-11所示。图6-11ADS的启动可以看到我们安装的东西。其中,CodeWarriorforARMDeveloperSuite是代码的编译连接开发环境;AXDDebugger是调试的开发环境,它能配合Multi-icesever和硬件Multi-ice调试器,完成板级调试。下面几节将详细地介绍本开发系统的使用方法。6.2ADS1.2集成开发环境介绍•6.2.1CodeWarriorIDE简介•6.2.2AXD调试器简介•6.2.3ADS开发系统的系统资源•6.2.4系统软件开发步骤6.2ADS1.2集成开发环境介绍•ARMADS全称为ARMDeveloperSuite。是ARM公司推出的新一代ARM集成开发工具。ADS由命令行开发工具,ARM时实库,GUI开发环境(CodeWarrior和AXD),实用程序和支持软件组成,如表6-1所列。有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序了。6.2.1CodeWarriorIDE简介•CodeWarriorforARM是一套完整的集成开发工具,充分发挥了ARMRISC的优势,使产品开发人员能够很好的应用尖端的片上系统技术。•该工具是专为基于ARMRISC的处理器而设计的,它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只需通过一个集成软件开发环境就能研制出ARM产品,在整个开发周期中,开发人员无需离开CodeWarrior开发环境,因此节省了在操作工具上花的时间,使得开发人员有更多的精力投入到代码编写上来,CodeWarriorIDE主窗口如图6-12所示。图6-12ADS集成开发环境界面ADS的CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。针对ARM的配置面板为用户提供了在CodeWarriorIDE集成环境下配置各种ARM开发工具的能力。用户可以使用ADS的CodeWarriorIDE为ARM和Thumb处理器开发用C,C++或ARM汇编语言的程序代码。•CodeWarriorIDE为用户提供下面的功能:源代码编辑器:它集成在CodeWarriorIDE的浏览器中,能够根据语法格式,使用不同的颜色显示代码;源代码浏览器:它保存了源码中定义的所有符号,能够使用户在源码中快速方便的跳转;查找和替换功能:用户可以在多个文件中,利用字符串通配符,进行字符串搜索和替换;文件比较功能:可以使用户比较路径中的不同文本文件的内容。•由于ARM调试器(AXD)没有集成在CodeWarriorIDE中,这就意味着,用户不能在CodeWarriorIDE中进行断点调试和查看变量。在CodeWarriorIDEforARM中有很多的菜单或子菜单是不能使用的。下面列出了这些选项:1.View菜单下不能使用的菜单选项有:Processes,Expressions,GlobalVariable,Breakpoints,Registers。2.Project菜单不能使用的菜单选项:Precompile子菜单。因为ARM编译器不支持预编译的头文件。3.Debug菜单:该菜单中没有一个子菜单是可以使用的。4.Browser菜单中不能使用的菜单选项:NewProperty,NewMethod和NewEventSet。5.Helpmenu中不能用于ADS的菜单选项有:CodeWarriorHelp,Index,Search和OnlineManuals。6.2.2AXD调试器简介•AXD调试器为ARM扩展调试器(即ARMeXtendedDebugger),包括ADW/ADU的所有特性,支持硬件仿真和软件仿真(ARMulator)。AXD能够装载映像文件到目标内存,具有单步、全速和断点等调试功能,可以观察变量、寄存器和内存的数据等等。AXD调试器主窗口如图6-13所示。图6-13AXD调试器界面6.2.3ADS开发系统的系统资源1.ADS系统包含的文件ADS系统包含下列可选文件:(1)系统文件Executables类文件:系统所有可执行的二进制文件,包括编译文件,命令行工具和GUI组件;Clibraries,bigendian:用于大端系统的C语言连接库文件;Clibraries,littleendian:用于小端系统的C语言连接库文件;C++libraries,bigendian:用于大端系统的C++连接库文件;C++libraries,littleendian:用于小端系统的C++连接文件;Includefiles:包含用户源程序的所有C和C++头文件;HelpFiles:这些文件包括用于GUI程序的在线帮助信息,是否安装这些程序都不影响运行。(2)其它文件ExampleFiles:一组程序举例,包含源代码和CodeWarrior工程文件,可以在ADS中使用;HTMLdocuments:适用于RogueWaveC++库的文档,可以适用网络阅览器阅读;DynaTextdocuments:ADS的连机在线格式的文档,为适用DynaTex阅览器而设计;PDF-ONLYDOCUMENTS:PDF格式文件,ARM体系结构手册,适用AdobeAcrobat阅览器;ARMulatorextensionkit:扩展的ARM仿真工具包;ARMFPAsources:ARM中FPA源文件;Source:ARM应用软件库源文件;Documentation:PDF格式ARM应用软件库文件,适用于AdobeAcrobatReader阅览器。•以上这些都是基本的ADS系统文件。2.ADS环境中的文件类型ADS开发环境中包含很多种文件,主要列举如下。(1)程序员通过编辑环境建立的文件Csourcefile:C语言源文件,扩展名是c。这种文件是程序员输入的C语言源文件。C++sourcefile:C++语言源文件,扩展名cpp。这种文件是程序员输入的C++语言源文件。Assemblesourcefile:汇编语言源文件,扩展名是s。这种文件是程序员输入的ARM汇编语言源文件,包含ARM指令和Thumb指令。CodeWarriorprojeketfile:CodeWarrior的工程项目管理文件,扩展名是mcp。这种文件是程序员在建立工程项目时生成的文件,包含工程项目内的所有源文件,也包含这些源文件的调试信息。(2)通过编译器和连接器生成的文件filename.h:头文件。filename.o:编译器输出的ELF格式的目标

1 / 180
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功