梁老虎

人无远虑,必有近忧

导航

ADS的参数解析

ADS集成开发环境参数解析
ARM ADS的全称为ARM Developer Suite。是ARM公司推出的ARM集成开发工具,内部集成了汇编器、编译器、链接器和调试器等等。


1.ADS的工程类型
在开发环境中提供了7种可选择的工程类型,每种类型都有各自不同的参数设置,用户还可以根据需要自定义工程类型,方便批量开发使用。这7种工程类型包括:
◆ARM Executable Image:用于由ARM指令的代码生成一个ELF格式的可执行映像文件;
◆ARM Object Library:用于由ARM指令的代码生成一个armar格式的目标文件库;
◆Empty Project:用于创建一个不包含任何库或源文件的工程;
◆Makefile Importer Wizard:用于将Visual C的nmake或GNU make文件转入到CodeWarrior IDE工程文件;
◆Thumb ARM Executable Image:用于由ARM指令和Thumb指令的混合代码生成一个可执行的ELF格式的映像文件;
◆Thumb Executable image:用于由Thumb指令创建一个可执行的ELF格式的映像文件;
◆Thumb Object Library:用于由Thumb指令的代码生成一个armar格式的目标文件库。


2.工程的target
建好工程之后,会有三个target:DebugRel、Debug、Release。默认是DebugRel。注意不同的工程类型可能这些target的名称会不同,特别是用户自定义工程类型可能会被用户改变成自定义的名称。名称本身并不代表什么,只是该名称下的工程参数设置内容会有不同,完全可以改变target的参数,使得即使target名称不同,但生成的目标会相同的效果。但一般来说,它们有固定的含义,分别是:
◆DebugRel:使用该目标,在生成目标的时候,会为每一个源文件生成调试信息;
◆Debug:使用该目标时为每一个源文件生成最完全的调试信息;
◆Release:使用该目标不会生产任何调试信息。
调试信息只是相对于axf文件来说的,bin镜像文件本身就是可执行文件,不会有调试信息。而axf文件内部就保含了bin文件内容,并附加了调试信息。而调试器要加载的文件都是axf文件,bin文件是可以直接下载到器件上执行的镜像文件。


3.参数设置内容
无论选择哪种target,都可以点击Edit菜单,设置相应的参数内容。下面介绍几个主要的内容和意义。
3.1)Target
在左边选项卡里的第一项,主要设置的内容是Target Settings选项卡,右边是设置的内容。如果不清楚具体的意义,可以查看相应的帮助文件。
◆Target Name:文本框显示了当前的目标设置,这个名称可以被随意设置,不影响工程效果。
◆Linker:选项供用户选择要使用的链接器。默认的是ARM Linker,表示选择了ARM Linker链接器。还有两个选项None,代表所有文件都不会被编译器或汇编器处理。ARM Librarian表示将编译或汇编得到的目标文件转换成ARM库文件。
◆Pre-linker:目前的CodeWarrior IDE不支持该选项。
◆Post-linker:选择在链接完成之后,还要对输出文件进行的操作。ARM fromELF表示在链接生成映像文件后,再调用FromELF命令将含有调试信息的ELF格式的映像文件转换成其它格式的文件。
3.2)Language Settings
该选项的内容是所有编译汇编等参数的设置。ADS集成开发环境的汇编器是armasm,默认的ARM体系是ARM920T,字节顺序是小端模式,其他设置按默认即可。ARM C编译器也按默认设置即可,选对ARM体系。
3.3)Linker
这个选项的内容设置比较重要,关系着最终生成的文件的效果。在Output标签页中,Linktype提供了三种链接方式。Partial表示链接器只进行部分链接,经过部分链接的目标文件,还可以作为以后进一步连接时的输入文件。simple是默认的链接放似乎,它链接生成简单的ELF格式的目标文件,使用的是链接器选项中指定的地址映像方式。Scattered是链接器要根据scatter格式文件中指定的地址映像,生成复杂的ELF格式的映像文件。
◆Ro Base:这个文本框设置包含有RO段的运行时域基地址,用户可以根据需要设定相应的地址,保证程序运行时代码能正确跳转。
◆RW Base:这个文本框设置了包含RW和ZI输出段的运行时域地址。
◆Ropi:选中这个设置将告诉链接器使包含有RO输出段的运行域位置无关。
◆Rwpi:选中该选项将告诉链接器使包含RW和ZI输出段的运行时域位置无关。
◆Split Image:选中这个选项把包含RO和RW的输出段的加载域分成两个加载域。
◆Relocatable:该选项保留了映像文件的重寻址偏移量

posted on 2009-11-18 09:37  梁老虎  阅读(1706)  评论(0编辑  收藏  举报