应该使用哪个编译器将 C 代码移植到 ARM?
Posted
技术标签:
【中文标题】应该使用哪个编译器将 C 代码移植到 ARM?【英文标题】:Which compiler should be used for porting C code to ARM? 【发布时间】:2013-03-07 07:07:28 【问题描述】:我是 ARM 的新手。我已经编写了 C 代码,但我希望将代码移植到在所有 ARM 处理器上运行的 ARM。我将开发高端应用程序,例如在智能手机/平板电脑上运行的应用程序。你们能说出哪个是最好的编译器吗?我听说过 RVDS,但这似乎很昂贵。
我的另一个问题是:我可以使用 Microsoft Visual Studio 2008 像 Neon 一样对 ARM Intrinsic 进行编程吗? RVDS 还有其他替代方案吗?
非常感谢您的建议。
【问题讨论】:
您应该更多地了解 ARM 的产品组合以及您的目标操作系统是什么? 【参考方案1】:多个版本的 gcc 工具链可用于 ARM 处理器。您需要确定代码的确切目标,例如:
哪个处理器或一组处理器?支持哪些指令集和扩展? (有很多类似ARMv6
、ARMV7
、ARMv7a
)。其中一些可能支持NEON
,而另一些可能没有。
哪种 FPU 支持 - hard FP
与 soft FP
?
什么样的操作系统环境? Linux
? android
? Bare metal
?
哪个 C 库 - glibc
、uclibc
、bionic libc
或其他?
最后两个是内置在工具链中的,不能修改。但是可以使用 gcc 中 ARM 特定的-m
标志来控制选择准确的指令集和优化。
像 Ubuntu 这样的发行版已经将 ARM 工具链作为其存储库的一部分。你也可以试试看:
sudo apt-get install gcc-arm-linux-gnueabi
【讨论】:
以上是关于应该使用哪个编译器将 C 代码移植到 ARM?的主要内容,如果未能解决你的问题,请参考以下文章