【方辉专栏】ARM嵌入式编译器(三) Arm Compiler 6编译参数选项
发布时间:2022-08-08

摘要: 本文主要对Arm Compiler 6编译器的各命令参数选项进行介绍。

关键字:Arm Compiler 6、编译器、armclang、armlink、armar 、fromelf、armasm


1. armclang常用参数

参数选项参数说明
-c只执行编译步骤,不执行链接步骤
-x指定编译的原文件语言,例如C语言,-xc inputfile.s ;例如C++语言,-xc++ inputfile.s
-std指定要编译的语言标准,例如C90, -std=c90
--
target=arch-
vendor-os-
abi
选定执行状态是AArch64或AArch32.
例如AArch64,--target=aarch64-arm-none-eabi
例如AArch32,--target=arm-arm-none-eabi
-march=name指定体系结构,例如:-march=armv8-a 或 -march=armv7-a.
-march=list显示所选执行状态的所有受支持架构的列表。
-mcpu=name指定的处理器。例如:-mcpu=cortex-m3 或-mcpu=cortex-a53
-mcpu=list显示所选执行状态的所有受支持处理器的列表。
-marm以 A32 指令集进行编译,
例如:--target=arm-arm-none-eabi -march=armv7-a -marm;
说明:-marm选项对 M架构或 AArch64 架构无效。
-mthumb以 T32 指令集进行编译,,该指令集由 16 位宽和 32 位宽指令组成。
例如:--target=arm-arm-none-eabi -march=armv8-a -mthumb
说明:-marm选项对 AArch64 架构无效
-mfloat-abi指定使用硬件还是软件函数进行浮点运算。
-mfpu指定 FPU 架构
-g(armclang)生成与 DWARF 4 标准兼容的 DWARF 调试表
-e仅执行预处理器步骤
-I将指定目录添加到搜索位置列表,用以查找包含文件。
-o(armclang)指定输出文件的名称。
-Onum指定编译源文件时要使用的性能优化级别。num为0,1,2,3.
-Os指定优化等级为平衡代码大小与代码速度
-Oz指定优化等级为优化代码大小。
-S输出机器代码的反汇编。
-###用于调用编译器和链接器,显示诊断输出,不执行编译和链接步骤。


2. armlink常用参数

参数选项参数说明
--scatter=filename指定分散加载描述文件,创建镜像的内存映射。
--entry指定镜像的初始入口。
--info (armlink)显示有关链接器操作的信息。例如代码大小,--info=size
--list=filename将诊断输出重定向到指定文件
--map显示一个内存映射,包含镜像中每个加载区、执行区和输入段的地址和大小,也包括链接器生成的输入段。
--symbols列出链接步骤中使用的每个局部和全局符号及其值
-o filename, -output=filename指定输出文件的名称
--keep=section_id指定不删除输入段未使用的部分
--load_addr_map_info在映射文件中包括执行区的加载地址和其中的输入段

3. armar常用参数

参数选项参数说明
--debug_symbols在库中包含调试符号
-a pos_name将新文件放在库中,pos_name文件之后的位置。
-b pos_name将新文件放在库中,pos_name文件之前的位置。
-a file_list从库中删除指定的文件
--sizes列出库中每个成员Code, RO Data, RW Data, ZI Data和 Debug 的大小
-t打印库的目录

4. fromelf常用参数

参数选项参数说明
--elf选择 ELF 输出模式
--text以文本格式显示镜像信息
--info (fromelf)显示有关特定主题的信息例如:
--info=totals Code RO Data RW Data I Data Debug

5. armasm常用参数

参数选项参数说明
--cpu=name设置处理器
-g (armasm)生成与 DWARF 3 标准兼容的 DWARF 调试表
--fpu=name设置目标浮点单元 (FPU) 架构
-o (armasm)指定输出文件的名称


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


关于凯发k8一触即发电子

凯发k8一触即发电子技术有限公司(英文名称:Emdoor Electronics Technology Co.,Ltd)是国内资深的研发工具软件提供商,公司成立于 2002 年,面向中国广大的制造业客户提供研发、设计、管理过程中使用的各种软件开发工具,致力于帮助客户提高研发管理效率、缩短产品设计周期,提升产品可靠性。

20 年来,先后与 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立战略合作伙伴关系,并作为他们在中国区的主要分销合作伙伴服务了数千家中国本土客户,为客户提供从芯片级开发工具、EDA 设计工具、软件编译以及测试工具、结构设计工具、仿真工具、电气设计工具、以及嵌入式 GUI 工具等等。凯发k8一触即发电子凭借多年的经验积累,真正的帮助客户实现了让研发更简单、更可靠、更高效的目标。


欢迎关注“凯发k8一触即发电子”公众号

了解更多研发工具软件知识