ARM gcc无法识别的CPU

时间:2013-12-26 19:24:08

标签: c linux gcc arm archlinux

我想为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

4 个答案:

答案 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环境变量中,其内容具有可执行权限。