使用arm-linux-gnueabi-gcc交叉编译ARMv6l的标志

时间:2014-01-07 00:26:15

标签: c linux gcc arm cross-compiling

我在C中交叉编译一个简单的HelloWorld有些困难。主机是Ubuntu X86_64,目标是运行Linux内核2.6.21.7的ARMv6兼容处理器rev 7(v6l)

如果我尝试:

arm-linux-gnueabi-gcc -static -march=armv6 hello.c -o hello

我在目标上遇到分段错误。文件命令输出为:

hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.31, BuildID[sha1]=0x0c77ad13c58160eab9dcbf2feeeaf4d27a4319cb, not stripped

我在GCC文档中没有看到任何“armv6l”标志。是否可以使用GCC交叉编译此架构?

1 个答案:

答案 0 :(得分:1)

它适用于源代码:https://sourcery.mentor.com/sgpp/lite/arm/portal/release2029

安装完成后,我不得不重新启动计算机,然后用这个命令编译好了:

arm-none-linux-gnueabi-gcc -o hello -static hello.c