我在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交叉编译此架构?
答案 0 :(得分:1)
它适用于源代码:https://sourcery.mentor.com/sgpp/lite/arm/portal/release2029
安装完成后,我不得不重新启动计算机,然后用这个命令编译好了:
arm-none-linux-gnueabi-gcc -o hello -static hello.c