Hexagon Binutils GNU 手册(1)

240 篇文章 11 订阅

1 介绍

1.1 概述

Binutils(二进制实用程序的缩写)是一组操作目标代码的软件工具。 它们与编译器、调试器和分析器一起使用,以支持 Qualcomm® Hexagon™ 处理器的软件开发。 Binutils 包括以下工具:

  • 汇编器(Assembler)
  • 链接器(Linker)
  • 存档器(Archiver)
  • 目标文件符号列表器(Object file symbol lister)
  • 目标文件复制器(Object file copier)
  • 对象文件查看器(Object file viewer)
  • 归档索引器(Archive indexer)
  • 目标文件节大小列表(Object file section size lister)
  • 目标文件字符串列表器(Object file string lister)
  • 目标文件剥离器(Object file stripper)
  • C++ 过滤器(C++ filter)
  • 地址转换器(Address converter)
  • ELF 文件查看器(ELF file viewer)

本文档描述了这些工具的 Hexagon 处理器特定版本。 编译器、调试器和分析器在单独的文档中进行了描述。

注意 
    Hexagon 处理器的 binutils 基于 GNU Binutils 2.21。  有关更多信息,请参阅 http://www.gnu.org

1.2 特点

汇编器(Assembler)

  • 宏处理器(Macro processor)
  • 条件编译(Conditional assembly)
  • 常量表达式折叠(Constant expression folding)
  • 本地标签(Local labels)

链接器(Linker)

  • 链接器命令语言文件(Linker command language files)
  • 内存分区(Memory partitioning)
  • 综合链接图报告(Comprehensive link map reports)

通用工具(Utilities)

  • 目标文件库管理(Object file library management )(ar、ranlib)
  • 目标文件管理(Object file management )(opy, strip)
  • 对象文件属性(Object file properties)(nm、objdump、size等)
  • ELF文件查看(ELF file viewing )(readelf)

1.3 使用工具

Alt

Figure 1-1 Using the tools
  1. 首先使用文本编辑器创建 AC、C++ 或汇编语言源文件。

  2. C 或 C++ 编译器将 C 或 C++ 源文件转换为输出文件output file(取决于编译器调用汇编器还是链接器)可以是汇编源文件、目标文件或可执行文件。 编译器可选择输入定义库函数的头文件header files

  3. 汇编器将汇编语言源文件翻译成目标文件object file。 它可以选择生成一个列表文件list file
    目标文件包含组装的目标代码、链接器用于创建可执行程序的信息以及(可选)供调试器使用的符号信息。
    列表文件列出了汇编语言源文本以及有关如何将其转换为目标代码的信息。

  4. 链接器将目标文件链接成可执行程序。 它输入一个或多个目标文件和一个脚本文件script file,并输出一个可执行文件executable file
    链接器脚本文件指定如何链接输入文件。

  5. 调试器控制程序的执行。 它输入一个可执行文件和可选的脚本文件script file
    调试器脚本文件包含调试器命令,用于自动执行调试任务。

1.4 处理器版本支持

软件开发工具支持Hexagon处理器V4、V5、V55版本:

  • 编译器和汇编器支持命令选项(-mv4、-mv5、-mv55),用于指定工具将为其生成输出文件的处理器版本。
  • 链接器支持相同的命令选项来指定它将链接的目标文件的版本。 尝试将目标文件与不同的处理器版本链接将导致错误消息。
  • 其他工具根据文件中存储的信息自动确定输入目标文件的处理器版本。

有关这些(和相关)命令选项的更多信息,请参阅本文档中的汇编器和链接器(后续会写的)章节。
有关 Hexagon 处理器版本的更多信息,请参阅 Hexagon 程序员参考手册Hexagon Programmer’s Reference Manual(高通Hexagon SDK包里面的文档)。

1.5 使用文档

本文档旨在为具有汇编语言经验的有经验的 C 程序员提供参考。
该文件包含四章:

  • 第1 章介绍,概述了工具和文档。
  • 第2 章,汇编程序,介绍了汇编程序。
  • 第3 章,链接器,介绍了链接器。
  • 第 4 章,实用程序,介绍存档和文件实用程序。

1.6 符号

本blog使用斜体表示术语和文档名称:
executable object file
Hexagon Programmer’s Reference Manual

Courier 字体用于计算机文本:

.Ltext0:
    .section .rodata
    .p2align 3
    .string "hello, world\n"

以下符号用于定义命令语法:

  • 方括号包含可选项目(例如,[label])。
  • 粗体用于表示文字符号(例如,[comment])。
  • 竖线字符| 用于表示对项目的选择。
  • 括号用于括起对项目的选择(例如,(add|del))。
  • 省略号,…,跟在可以出现多次的项目之后。

1.7 系统要求

Binutils 是 Hexagon 处理器软件开发工具的一部分,可在 Windows® 和 Linux® 操作系统上运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值