ADS的使用方法

上传人:hy****d 文档编号:242968365 上传时间:2024-09-13 格式:PPT 页数:43 大小:733.50KB
返回 下载 相关 举报
ADS的使用方法_第1页
第1页 / 共43页
ADS的使用方法_第2页
第2页 / 共43页
ADS的使用方法_第3页
第3页 / 共43页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ADS的使用,1,第六章 ADS的使用,6.1 ADS概述,6.2 ADS的配置,6.3 简单项目工程的使用,6.4 复杂项目工程的使用,2,6.1ADS概述,ARM ADS的英文全称为 ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具,用来取代ARM公司以前推出的开发工具ARM SDT,目前ARM ADS的最新版本为1.2。,Multi-ICE 是ARM 仿真器,支持ARM 公司的ARM7、ARM9、ARM10、StrongARM、Xscale 等ARM 内核。,ADS 主要由三个部分组成:Multi-ice Server(连接工具,用于识别ARM 内核),Code warrior(集成编辑、编译和链接工具)和AXD(调试工具)。,3,6.1ADS概述,ARM ADS由六部分组成:,代码生成工具(Code Generation Tools),集成开发环境(CodeWarrior IDE from Metrowerks),调试器(Debuggers),指令集模拟器(Instruction Set Simulators),ARM 开发包(ARM Firmware Suite),ARM应用库(ARM Applications Library),4,6.1ADS概述,ADS1.2-主要模块:,ANSI C 编译器 ,armcc,and,tcc,ISO / Embedded C+ 编译器 ,armcpp,and,tcpp,ARM / Thumb 汇编器 ,armasm,Linker ,armlink,Windows 集成开发环境 ,CodeWarrior,Debugger ,AXD,armsd 可向前兼容,格式转换器 ,fromelf,C and C+ 库,指令级仿真器 -,ARMulator,5,6.1ADS概述,支持数据类型:,char8 bit byte,short16 bit half-word,int32 bit word,long32 bit integer,float32 bit IEEE single-precision,double64 bit IEEE double-precision,pointers32 bits,long long64 bit integer,6,Multi-ICE的特点,Multi-ICE是ARM公司自己的JTAG在线仿真器,目前的最新版本是2.1版。Multi-ICE的JTAG链时钟可以设置为5 kHz到10 MHz,实现JTAG操作的一些简单逻辑由FPGA实现,使得并行口的通信量最小,以提高系统的性能。,Multi-ICE 2.x支持ARM7、ARM9、ARM9E、ARM 10和Intel Xscale微结构系列。,Multi-ICE主要优点:,快速的下载和单步速度。,用户控制的输入/输出位。,可编程的JTAG位传送速率。,开放的接口,允许调试非ARM的核或DSP。,网络连接到多个调试器。,目标板供电,或外接电源。,7,ARM交叉开发环境的模型,8,开发环境的作用,9,命令行开发工具,完成将源代码编译,链接成可执行代码。,命令行开发工具需要记忆较多的命令参数,但效率高;通常用集成开发环境(IDE)代替。,ADS提供下面的命令行开发工具:,Armcc: ARM C编译器,Armcpp: ARM C+编译器,Armasm:ARM汇编编译器,Armlink: ARM连接器,10,ARM运行时库,运行时库就是 C run-time library。,当用户对汇编程序,C程序或C+程序进行链接的时候,链接器会根据在建立时所指定的选项,选择适当的C或C+运行时库的类型。,ADS提供以下的运行时库来支持被编译的C和C+代码:,ANSI C库函数,C+库函数,11,CodeWarrior for ARM,CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。,用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C,C+,或ARM汇编语言的程序代码 。,全面的项目管理功能。,CodeWarrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC 的优势。,在整个开发周期中,开发人员无需离开CodeWarrior开发环境,提高了效率。,12,CodeWarrior for ARM,功能特色,源代码编辑器,集成在CodeWarrior IDE的浏览器中,能够根据语法格式,使用不同的颜色显示代码;,源代码浏览器,保存了在源码中定义的所有符号,能够使用户在源码中快速方便的跳转;,查找和替换功能,用户可以在多个文件中,利用字符串通配符,进行字符串的搜索和替换;,13,CodeWarrior for ARM,创建工程项目,ADS通过工程项目来组织用户的源文件、库文件、头文件、以及其他的输入文件。,生成映象文件:,Debug:生成的映象文件包含所有的调试信息;,Release:生成的映象文件不包含调试信息;,DebugRel:生成的映象文件包含了基本的调试信息。,14,CodeWarrior for ARM,工程项目窗口,File视图:,包含工程项目中的所有文件的列表,选择文件是否要编译,显示生成可执行文件的大小和数据段大小。,Link Order视图:,包含当前生成目标中的所有输入文件。,Target视图:,显示了工程项目中的生成目标映象。,15,CodeWarrior for ARM,配置生成目标,汇编器,编译器,链接器,调试器,编译链接后生成:,*.axf:含有调试信息的可执行ELF格式文件;,*.bin可烧写的二进制映像文件;,*.hex:可烧写的十六进制映像文件。,16,AXD调试工具,在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。,可以搭建一个PCB板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。,只有当通过硬件或者是软件仿真所得到的结果达到了预期的效果,才算是完成了应用程序的编写工作。,17,AXD调试工具,调试器能够发送以下指令:,装载映像文件到目标内存;,启动或停止程序的执行;,显示内存,寄存器或变量的值;,允许用户改变存储的变量值。,18,6.2 ADS的配置,建立工程,在磁盘里新建一个目录“D:arm”,打开ADS软件,点击工具栏“File”,下拉点击“New”,19,CodeWarrior配置及使用,创建一个可执行ARM映象工程,20,CodeWarrior配置及使用,对话框中为用户提供了7种可选择的工程类型:,ARM Executable Image:用于由ARM指令的代码生成一个ELF格式的可执行映像文件。,ARM Object Library:用于由ARM指令的代码生成一个armar格式的目标文件库。,Empty Project:用于创建一个不包含任何库或源文件的工程。,Make Wizard:用于将Visual C的nmake或GNU make文件转入到CodeWarrior IDE 工程文件。,Thumb ARM Interworking Image:用于由ARM指令和Thumb指令的混和代码生成一个可执行的ELF格式的映像文件。,Thumb Executable image:用于由Thumb指令创建一个可执行的ELF格式的映像文件。,Thumb Object Library:用于由Thumb指令的代码生成一个armar格式的目标文件库。,21,CodeWarrior配置及使用,选择,ARM Executable Image,工程,在,Project name,文本框中输入工程文件名如,2410UART,,单击,Set,按钮,可更改该工程保存的路径,将这些设置好后,单击“确定”即可建立一个新的名为,2410UART.mcp,的,ADS,工程。*,.,mcp,文件是,ARM,的工程文件,当建立一个工程文件后,可以通过打开该工程的*,.,mcp,文件在,CodeWarrior,中打开该工程。,这时会出现,2410UART.mcp,的窗口。可以看到它默认的目标调试环境是,DebugRel,,单击旁边的下三角按钮,可以看到还有另外两个可用的目标调试环境,分别为,Release,和,Debug,。,22,6.2 ADS的配置,工程界面,23,6.2 ADS的配置,工程界面,24,6.2 ADS的配置,创建源文件,25,6.2 ADS的配置,添加源文件,26,CodeWarrior配置及使用,创建工程2410UART的窗口,27,CodeWarrior配置及使用,生成目标的配置:,选择Edit | DebugRel Settings命令或直接单击工具栏上的DebugRel,Settings图标,可以对生成的目标文件进行配置。这个选项会因创建工程时选,择目标调试系统不同而不同。,28,Target设置选项,Target Name文本框显示了当前的目标设置。,Linker下拉列表框供用户选择要使用的链接器。这里默认的是ARM Linker,使用该链接器,将使用ARM Linker链接编译器和汇编器生成的工程文件作为相应目标文件。,另外两个可选项,None表示不用任何链接器即工程中的所有文件都不会被编译器或汇编器处理。ARM Librarian表示将编译或汇编得到的目标文件转换为ARM库文件。这里使用默认的链接器ARM Linker。,Post-Linker下拉列表框表示链接后,对输出文件进行怎样的操作。选择ARM fromELF,29,Target设置选项,Target设置选项,30,Language Settings,ARM ADS的汇编器是armasm。如图所示,这里可以进行很多设置,包,括运行的目标处理器的内核系列,可根据运行的目标板处理器类型进行选择。,31,Linker设置,选中,ARM Linker,,打开对话框。对话框的主要标签选项对最终生成的文件有着直接的影响。,在选项卡,Output,中,,Linktype,选项中提供了,3,种链接方式。,Partial,方式表示链接器只进行部分链接,经过部分链接生成的目标文件,可以作为以后进一步链接时的输入文件。,Simple,方式是默认的链接方式,它链接生成简单的,ELF,格式的目标文件,使用的是链接器选项中指定的地址映射方式。,Scattered,方式使链接器根据,scatter,格式文件指定地址映射,生成复杂的,ELF,格式的映像文件。,这里选择常用默认的,Simple,方式。,32,Linker设置,在选中Simple方式后,就会出现Simple image,其各项含义:,RO Base:即Read-Only段。RO Base设置为包含RO输出段的加载和执行地址,地址值必须字对齐。,(注: RO Base的设置与硬件地址及生成的映象程序是相关的)。,RW Base:即Read-write段。这个文本框设置了包含RW和ZI(zero-initialized)输出段的运行域地址。如果选中split选项,链接器生成的映像文件将包含两个加载域和两个运行域。此时,在RW Base中所输入的地址为包含RW和ZI输出段的域设置了加载域和运行域地址。,(注:RW Base须设置成SDRAM内的地址),Ropi:选中这个复选框将告诉链接器使包含有RO输出段的运行域位置无关。使用这个选项,链接器将保证:首先检查各段之间的重地址是否有效,其次确保任何由ARM链接器armlink自身生成的代码是只读位置无关的。,33,Linker设置,Rwpi,:选中该复选框将会告诉链接器使包含,RW,和,ZI,输出段的运行域位置无关。如果它没有被选中,域就标识为绝对。每一个可写的输入段必须是读写位置无关的。如果被选中,链接器检查可读,/,可写属性的运行域的输入段是否设置了位置无关属性,检查在各段之间的重地址是否有效。,Split Image,:选中这个复选框把包含,RO,和,RW,输出段的加载域分成两个加载域:一个是包含,RO,输出段的域,一个是包含,RW,输出段的域。,Relocatable,:选中这个复选框保留了映像文件的重地址偏移量。这些偏移量为程序加载器提供了有用信息。,Options,选项卡,用于指明存储器的替换方法、调试信息的设置和映像文件的初始入口地址等信息。,34,Linker设置,35,Linker设置,Image entry point:映象的入口点是可执行程序的入口地址。,36,Linker设置,37,ARM fromELF设置,ARM fromELF:代码格式转换器(可烧写映象文件生成工具)的设置。生成*.bin映象文件,38,ARM fromELF设置,ARM fromELF:代码格式转换器(可烧写映象文件生成工具)的设置。,生成*.hex映象文件,39,编译连接后显示的信息,40,复杂项目工程的创建,41,生成文件,42,The end,Thank you,43,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!