Gcc 使用原生raspberry pi编译问题
问题 我们正在尝试在raspberry pi上编译spi_从代码。我们使用了本机gcc编译器,编译运行时没有任何错误 问题是当我尝试运行输出时: /home/pi/spi_slave./build/output.elf 分段故障 /home/pi/spi_slave./build/kernel.img bash:./build/kernel.img:无法执行二进制文件 试图从剑桥下载arm none eabi编译器,但无法运行: /home/pi/spi#u slave#../arm-2008q3/bin/arm none-eabi-gcc bash:../arm-2008q3/bin/arm none eabi gcc:无法执行二进制文件 源代码 我们试图编译的代码是: 我们所做的唯一更改是在makefile中,在ARMGNU变量前面添加了一个#Gcc 使用原生raspberry pi编译问题,gcc,compilation,compiler-errors,arm,raspberry-pi,Gcc,Compilation,Compiler Errors,Arm,Raspberry Pi,问题 我们正在尝试在raspberry pi上编译spi_从代码。我们使用了本机gcc编译器,编译运行时没有任何错误 问题是当我尝试运行输出时: /home/pi/spi_slave./build/output.elf 分段故障 /home/pi/spi_slave./build/kernel.img bash:./build/kernel.img:无法执行二进制文件 试图从剑桥下载arm none eabi编译器,但无法运行: /home/pi/spi#u slave#../arm-2008q
#ARMGNU = arm-none-eabi
环境
# uname -a
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux
我做错了什么?
我们已经在google和stackoverflow上尝试了几个小时,但没有成功/
arm none eabi
是一个非linux编译器。它适用于裸金属应用。不同之处在于C
库。但是,gcc
与正常编译的C
库密切相关
然后是代码。它不是为Linux编写的。它是为裸金属应用而编写的。您需要在没有Linux的情况下从Raspberry Pi引导加载程序(berryboot?)加载并运行代码
您可以使用ARM Linux编译器为裸机应用程序创建代码。但是,您可能更容易找到针对Raspberry Pi的newlib编译器。你可以在网上搜索一个,也可以尝试自己构建一个
请参阅:和。看起来dwelch(可能与堆栈溢出相同)为Raspberry PI提供了一个新的lib端口。