如何将基于intel的linux应用程序移植到ARM平台

时间:2012-01-21 05:45:48

标签: arm

我需要将一些基于Intel的Linux应用程序移植到ARM平台。任何人都可以告诉我 这个项目最好的交叉编译工具是什么?

感谢。

1 个答案:

答案 0 :(得分:4)

在Ubuntu Linux主机上,您可以只使用默认的ARM工具链:

sudo apt-get install gcc-arm-linux-gnueabi

要构建您的Linux应用程序,您只需使用相同的工具, 但前缀为:

arm-linux-gnueabi-

例如,构建一个简单的helloworld.c:

arm-linux-gnueabi-gcc -o helloworld helloworld.c

您还可以设置一些与ARM相关的标志,以优化您的构建或指定目标平台。这里有一些重要的ARM GCC标志示例,具体取决于目标ARM CPU:

ARM 11:    -mtune=arm1136j-s -mfpu=vfp -mfp=vfp -march=armv6 -mfloat-abi=softfp
Cortex A8: -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -Wl,--fix-cortex-a8
Cortex A9: -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp

请注意,目标ARM CPU可能需要其他选项,例如,如果它不支持NEON指令。 CodeSourcery的GCC编译器可能还需要另一个选项集 - 只需从CodeSourcery中读取特定GCC版本的文档。