我想为stellaris板编译一个C文件。 (皮质m4) 但编译器总是抛出以下错误:
Building file: ../main.c
Invoking: Cross GCC Compiler
arm-none-eabi-gcc -DPART_LM4F120H5QR -DARM_MATH_CM4 -DTARGET_IS_BLIZZARD_RA1 -I/home/erbal/src/stellaris -I/usr/lib/gcc/arm-none-eabi/4.5.1/include-fixed -I/usr/lib/gcc/arm-none-eabi/4.5.1/include -I/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/include -O0 -g3 -Wall -c -fmessage-length=0 -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
as: unrecognized option '-mcpu=cortex-m4'
subdir.mk:21: recipe for target 'main.o' failed
make: *** [main.o] Error 1
答案 0 :(得分:3)
除了arm-none-eabi-gcc之外,您还需要安装arm-none-eabi-binutils软件包。
答案 1 :(得分:0)
您可以使用GCC -B
选项指定工具链二进制文件的前缀,因此使用交叉编译器而不是本机编译器。
答案 2 :(得分:0)
需要将arm-none-eabi-c ++或arm-none-eabi-gcc与整个gcc文件夹放在一起[例如arm-none-eabi文件夹内]。因为编译器也依赖于其他binutils组件/文件。
答案 3 :(得分:0)
假设您在/usr/local/arduino-packages-1.6.8上拥有特定于ARM EABI的工具链,请确保/usr/local/arduino-packages-1.6.8/arduino/tools /arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/bin是可读的,在PATH环境变量中,其内容具有可执行权限。