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

如何将基于intel的linux应用程序移植到ARM平台,arm,Arm,我需要将一些基于Intel的Linux应用程序移植到ARM平台。有人能告诉我吗 这个项目最好的交叉编译工具是什么 谢谢。在Ubuntu Linux主机上,您可以只使用默认的ARM工具链: sudo apt-get install gcc-arm-linux-gnueabi 要构建linux应用程序,您只需使用相同的工具, 但前缀为: armlinux-gnueabi- 例如,要构建一个简单的helloworld.c: arm-linux-gnueabi-gcc -o helloworld he

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


谢谢。

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

sudo apt-get install gcc-arm-linux-gnueabi
要构建linux应用程序,您只需使用相同的工具, 但前缀为:

armlinux-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版本的文档。

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

sudo apt-get install gcc-arm-linux-gnueabi
要构建linux应用程序,您只需使用相同的工具, 但前缀为:

armlinux-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版本的文档。

CodeSourcery ARM工具链。问题的其余部分太模糊了。对不起,我的问题很快又不清楚。我知道有几种工具可以用来交叉编译ARM平台的应用程序。例如,openEmbedded和bitbake是一个选项,codeSoucery是另一个选项。我还发现了一个Eclipse插件,用于ARM平台的交叉编译。我不确定使用哪一个。CodeSourcery ARM工具链。问题的其余部分太模糊了。对不起,我的问题很快又不清楚。我知道有几种工具可以用来交叉编译ARM平台的应用程序。例如,openEmbedded和bitbake是一个选项,codeSoucery是另一个选项。我还发现了一个Eclipse插件,用于ARM平台的交叉编译。我不知道该用哪一个。谢谢你。你的回答确实有助于澄清我的一些疑虑。我会尝试一下codeSoucery的谢谢psiHodelia。你的回答确实有助于澄清我的一些疑虑。我会试试codeSoucery的。