• 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:该选项保留了映像文件的重寻址偏移量

  • 相关阅读:
    软件开发流程概要(笔记)
    (转)HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等
    (转)敏捷开发简介
    (转)从零开始学习ASP.NET MVC 1.0 (一) 开天辟地入门篇
    WinForm二三事(二)异步操作
    TSQL变量操作详解
    C#委托和多线程文章收藏
    psad, fwknop, 和fwsnort等著名开源安全软件的开发者谈Linux防火墙
    最通俗易懂的面向对象著作
    找到一本适合自己的SQL Server 2008入门书
  • 原文地址:https://www.cnblogs.com/scnutiger/p/1605116.html
Copyright © 2020-2023  润新知