为 64 位 arm 设计选择 gcc 编译器
Posted
技术标签:
【中文标题】为 64 位 arm 设计选择 gcc 编译器【英文标题】:Choosing gcc Compiler for 64-bit arm design 【发布时间】:2017-08-28 08:27:42 【问题描述】:我一直在 32 位 iMX6q SABRE-SD 板(ARM Cortex-A9)上进行一些裸机编程。我使用“arm-none-eabi”作为工具链。现在,我想将我编写的所有代码移植到 64 位 arm Cortex-A57(R-Car M3 板)。我将如何为此任务选择编译器。我可以使用带有一些标志更改的相同编译器来编译 64 位设计吗?或者是否有制造商提供的任何特定编译器。
人们将如何为他/她的嵌入式设计选择编译器。
请帮忙。
问候,
阿杰马尔
【问题讨论】:
aarch64 架构可能需要 gcc。 你想要 aarch64-none-elf (或者其他三联体的其余部分,如果它重要的话)。我试图弄清楚它是否可以执行 aarch32,或者您是否必须使用两个编译器,一个用于 aarch64 位指令集,然后如果您必须使用不同的工具链,则切换到 aarch32。 --target-help 不显示任何架构,但选项显示 32 位指令集标志 gcc 通常是为每个目标设计构建一个新的工具链副本,其中 llvm/clang 是为所有目标(除了链接)类型的设计构建一个工具链。并且使用 aarch64 gnu 似乎需要构建工具链。 【参考方案1】:要编译成 64 位架构,可以使用 linaro gcc 工具: 请参考此链接: https://community.arm.com/dev-platforms/f/discussions/5274/issue-compiling-armv8-assembly
【讨论】:
以上是关于为 64 位 arm 设计选择 gcc 编译器的主要内容,如果未能解决你的问题,请参考以下文章