第六章 ADS的使用.ppt_第1页
第六章 ADS的使用.ppt_第2页
第六章 ADS的使用.ppt_第3页
第六章 ADS的使用.ppt_第4页
第六章 ADS的使用.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1,ads的使用,广嵌教育,2,第六章ads的使用,6.1ads概述6.2ads的配置6.3简单项目工程的使用6.4复杂项目工程的使用,3,6.1ads概述,armads的英文全称为armdevelopersuite,是arm公司推出的新一代arm集成开发工具,用来取代arm公司以前推出的开发工具armsdt,目前armads的最新版本为1.2。multi-ice是arm仿真器,支持arm公司的arm7、arm9、arm10、strongarm、xscale等arm内核。ads主要由三个部分组成:multi-iceserver(连接工具,用于识别arm内核),codewarrior(集成编辑、编译和链接工具)和axd(调试工具)。,4,6.1ads概述,armads由六部分组成:代码生成工具(codegenerationtools)集成开发环境(codewarrioridefrommetrowerks)调试器(debuggers)指令集模拟器(instructionsetsimulators)arm开发包(armfirmwaresuite)arm应用库(armapplicationslibrary),5,6.1ads概述,ads1.2-主要模块:ansic编译器armccandtcciso/embeddedc+编译器armcppandtcpparm/thumb汇编器armasmlinkerarmlinkwindows集成开发环境codewarriordebuggeraxdarmsd可向前兼容格式转换器fromelfcandc+库指令级仿真器-armulator,6,6.1ads概述,支持数据类型:char8bitbyteshort16bithalf-wordint32bitwordlong32bitintegerfloat32bitieeesingle-precisiondouble64bitieeedouble-precisionpointers32bitslonglong64bitinteger,7,multi-ice的特点,multi-ice是arm公司自己的jtag在线仿真器,目前的最新版本是2.1版。multi-ice的jtag链时钟可以设置为5khz到10mhz,实现jtag操作的一些简单逻辑由fpga实现,使得并行口的通信量最小,以提高系统的性能。multi-ice2.x支持arm7、arm9、arm9e、arm10和intelxscale微结构系列。multi-ice主要优点:快速的下载和单步速度。用户控制的输入/输出位。可编程的jtag位传送速率。开放的接口,允许调试非arm的核或dsp。网络连接到多个调试器。目标板供电,或外接电源。,8,arm交叉开发环境的模型,9,开发环境的作用,10,命令行开发工具,完成将源代码编译,链接成可执行代码。命令行开发工具需要记忆较多的命令参数,但效率高;通常用集成开发环境(ide)代替。ads提供下面的命令行开发工具:armcc:armc编译器armcpp:armc+编译器armasm:arm汇编编译器armlink:arm连接器,11,arm运行时库,运行时库就是crun-timelibrary。当用户对汇编程序,c程序或c+程序进行链接的时候,链接器会根据在建立时所指定的选项,选择适当的c或c+运行时库的类型。ads提供以下的运行时库来支持被编译的c和c+代码:ansic库函数c+库函数,12,codewarriorforarm,codewarrior集成开发环境(ide)为管理和开发项目提供了简单多样化的图形用户界面。用户可以使用ads的codewarrioride为arm和thumb处理器开发用c,c+,或arm汇编语言的程序代码。全面的项目管理功能。codewarriorforarm是一套完整的集成开发工具,充分发挥了armrisc的优势。在整个开发周期中,开发人员无需离开codewarrior开发环境,提高了效率。,13,codewarriorforarm,功能特色源代码编辑器集成在codewarrioride的浏览器中,能够根据语法格式,使用不同的颜色显示代码;源代码浏览器保存了在源码中定义的所有符号,能够使用户在源码中快速方便的跳转;查找和替换功能用户可以在多个文件中,利用字符串通配符,进行字符串的搜索和替换;,14,codewarriorforarm,创建工程项目ads通过工程项目来组织用户的源文件、库文件、头文件、以及其他的输入文件。生成映象文件:debug:生成的映象文件包含所有的调试信息;release:生成的映象文件不包含调试信息;debugrel:生成的映象文件包含了基本的调试信息。,15,codewarriorforarm,工程项目窗口file视图:包含工程项目中的所有文件的列表,选择文件是否要编译,显示生成可执行文件的大小和数据段大小。linkorder视图:包含当前生成目标中的所有输入文件。target视图:显示了工程项目中的生成目标映象。,16,codewarriorforarm,配置生成目标汇编器编译器链接器调试器编译链接后生成:*.axf:含有调试信息的可执行elf格式文件;*.bin可烧写的二进制映像文件;*.hex:可烧写的十六进制映像文件。,17,axd调试工具,在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。可以搭建一个pcb板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。,18,axd调试工具,调试器能够发送以下指令:装载映像文件到目标内存;启动或停止程序的执行;显示内存,寄存器或变量的值;允许用户改变存储的变量值。,19,6.2ads的配置,建立工程在磁盘里新建一个目录“d:arm”打开ads软件点击工具栏“file”,下拉点击“new”,20,codewarrior配置及使用,创建一个可执行arm映象工程,21,codewarrior配置及使用,对话框中为用户提供了7种可选择的工程类型:armexecutableimage:用于由arm指令的代码生成一个elf格式的可执行映像文件。armobjectlibrary:用于由arm指令的代码生成一个armar格式的目标文件库。emptyproject:用于创建一个不包含任何库或源文件的工程。makefileimporterwizard:用于将visualc的nmake或gnumake文件转入到codewarrioride工程文件。thumbarminterworkingimage:用于由arm指令和thumb指令的混和代码生成一个可执行的elf格式的映像文件。thumbexecutableimage:用于由thumb指令创建一个可执行的elf格式的映像文件。thumbobjectlibrary:用于由thumb指令的代码生成一个armar格式的目标文件库。,22,codewarrior配置及使用,选择armexecutableimage工程,在projectname文本框中输入工程文件名如2410uart,单击set按钮,可更改该工程保存的路径,将这些设置好后,单击“确定”即可建立一个新的名为2410uart.mcp的ads工程。*.mcp文件是arm的工程文件,当建立一个工程文件后,可以通过打开该工程的*.mcp文件在codewarrior中打开该工程。这时会出现2410uart.mcp的窗口。可以看到它默认的目标调试环境是debugrel,单击旁边的下三角按钮,可以看到还有另外两个可用的目标调试环境,分别为release和debug。,23,6.2ads的配置,工程界面,24,6.2ads的配置,工程界面,25,6.2ads的配置,创建源文件,26,6.2ads的配置,添加源文件,27,codewarrior配置及使用,创建工程2410uart的窗口,28,codewarrior配置及使用,生成目标的配置:选择edit|debugrelsettings命令或直接单击工具栏上的debugrelsettings图标,可以对生成的目标文件进行配置。这个选项会因创建工程时选择目标调试系统不同而不同。,29,target设置选项,targetname文本框显示了当前的目标设置。linker下拉列表框供用户选择要使用的链接器。这里默认的是armlinker,使用该链接器,将使用armlinker链接编译器和汇编器生成的工程文件作为相应目标文件。另外两个可选项,none表示不用任何链接器即工程中的所有文件都不会被编译器或汇编器处理。armlibrarian表示将编译或汇编得到的目标文件转换为arm库文件。这里使用默认的链接器armlinker。post-linker下拉列表框表示链接后,对输出文件进行怎样的操作。选择armfromelf,30,target设置选项,target设置选项,31,languagesettings,armads的汇编器是armasm。如图所示,这里可以进行很多设置,包括运行的目标处理器的内核系列,可根据运行的目标板处理器类型进行选择。,32,linker设置,选中armlinker,打开对话框。对话框的主要标签选项对最终生成的文件有着直接的影响。在选项卡output中,linktype选项中提供了3种链接方式。partial方式表示链接器只进行部分链接,经过部分链接生成的目标文件,可以作为以后进一步链接时的输入文件。simple方式是默认的链接方式,它链接生成简单的elf格式的目标文件,使用的是链接器选项中指定的地址映射方式。scattered方式使链接器根据scatter格式文件指定地址映射,生成复杂的elf格式的映像文件。这里选择常用默认的simple方式。,33,linker设置,在选中simple方式后,就会出现simpleimage,其各项含义:robase:即read-only段。robase设置为包含ro输出段的加载和执行地址,地址值必须字对齐。(注:robase的设置与硬件地址及生成的映象程序是相关的)。rwbase:即read-write段。这个文本框设置了包含rw和zi(zero-initialized)输出段的运行域地址。如果选中split选项,链接器生成的映像文件将包含两个加载域和两个运行域。此时,在rwbase中所输入的地址为包含rw和zi输出段的域设置了加载域和运行域地址。(注:rwbase须设置成sdram内的地址)ropi:选中这个复选框将告诉链接器使包含有ro输出段的运行域位置无关。使用这个选项,链接器将保证:首先检查各段之间的重地址是否有效,其次确保任何由arm链接器armlink自身生成的代码是只读位置无关的。,34,linker设置,rwpi:选中该复选框将会告诉链接器使包含rw和zi输出段的运行域位置无关。如果它没有被选中,域就标识为绝对。每一个可写的输入段必须是读写位置无关的。如果被选中,链接器检查可读/可写属性的运行域的输入段是否设置了位置无关属性,检查在各段之间的重地址是否有效。splitimage:选中这个复选框把包含ro和rw输出段的加载域分成两个加载域:一个是包含ro输出段的域,一个是包含rw输出段的域。relocatable:选中这个复选框保留了映像文件的重地址偏移量。这些偏移量为程序加载器提供了有用信息。options选项卡,用于指明存储器的替换方法、调试信息的设置和映像文件的初始入口地址等

温馨提示

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

评论

0/150

提交评论