【方辉专栏】ARM嵌入式编译器(一) Arm Compiler 6简介

蓝图分享网 2022-11-11 22:38:20 481阅读 0评论

1. 简介

Arm Compiler 6是一款基于Cortex 和 Neoverse处理器的C/C++的编译工具。它与ARM架构同时开发。因此基于ARM内核的产品,小到单一传感器,大到64位设备的嵌入式裸机程序均可以使用Arm Compiler 6进行编译。

Arm Compiler 6 是Arm Development Studio和Arm Keil MDK的一个组件。您可以将 Arm Compiler  6 用作独立产品使用。Arm Compiler 6 支持的功能和支持的处理器型号取决于Arm Development Studio和Arm Keil MDK版本。

 2. 提供的工具和库

ARM Compiler 6基于LLVM-based编译架构来组织工具和库。主要包含以下组件:

2.1 armclang

armclang是编译 C/C++和GNU语言的集成编译器。支持标准的C/C++和GNU版本,如下所示:

【方辉专栏】ARM嵌入式编译器(一) Arm Compiler 6简介 第1张

Arm Compiler  6 基于 LLVM 构建,在文档中引用社区功能的地方,它们用 标识。

 2.2 armasm

仅对原来的arm语法汇编代码使用armasm,对使用GUN语法的汇编文件使用armclang。

 2.3 armlink

armlink是一个链接器,它将一个或多个目标文件的内容,与一个或多个目标库的选用部分结合起来,以生成可执行程序。

 2.4 armar

armar是一个归档器,它可以将 ELF 目标文件集收集在一起进行归档或在库中进行维护。您没有更改文件,就可以从归档中或库中将这些文件传递给链接器,不必每次使用它们时都从源代码重新编译,从而减少编译时间。您还可以将这些归档文件发给第三方应用程序开发人员,就可以在不泄露源代码的情况下和对方联合开发。

 2.5 fromelf

fromelf是一个映射转换程序可以将Arm ELF镜像转换为二进制格式。 它还可以生成关于输入映射的文本信息,如反汇编、代码大小和数据大小等。

 2.6 Arm C++ libraries

Arm C++ 库基于 LLVM libc++ :

libc++abi 库是一个运行时库,提供低级语言功能的实现。

libc++ 库提供了 ISO C++ 库标准的实现。这取决于 libc++abi 提供的函数。

 2.7 Arm C library

Arm C 库提供:

C 标准中定义的库功能的实现、C 库通用的非标准扩展。

POSIX  标准的功能、扩展的功能。

 3. 应用程序开发过程

典型的应用程序开发流程涉及以下内容:

1)编写 C/C++ 源代码。

2)为接近硬件的组件开发汇编源代码,例如中断服务例程。

3)编译C或汇编,并将所有目标文件链接在一起以生成镜像文件。

4)将镜像文件转换为普通二进制、 Hex 格式,用于程序烧写。

【方辉专栏】ARM嵌入式编译器(一) Arm Compiler 6简介 第2张

免责声明:

1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。

3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,481人围观)

还没有评论,来说两句吧...