【方辉专栏】ARM嵌入式编译器(一) Arm Compiler 6简介
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 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 格式,用于程序烧写。
免责声明:
1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com
还没有评论,来说两句吧...