ARM gcc 无法识别 CPU

4
我想为斯特拉里斯板(cortex m4)编译一个C文件,但编译器总是报以下错误:
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

-mcpu:gcc无法识别此选项。请尝试使用-march或-mtune。 - Anis_Stack
那我该怎么办呢? :) - erbal
-mthumb -mcpu=cortex-m3 -march=armv7-m - old_timer
1
根据4.6版本的GCC变更文档,支持Cortex-M4。请参考http://gcc.gnu.org/gcc-4.6/changes.html。 - auselen
请发布 arm-none-eabi-gcc --versionarm-none-eabi-as --version 的输出。 - Turbo J
显示剩余2条评论
4个回答

3

除了安装arm-none-eabi-gcc之外,您还需要安装arm-none-eabi-binutils软件包。


0
假设您拥有特定于ARM EABI的工具链,位于/usr/local/arduino-packages-1.6.8,请确保/usr/local/arduino-packages-1.6.8/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/arm-none-eabi/bin可读,并且在PATH环境变量中,其内容具有可执行权限。

0

您可以使用GCC -B选项来指定工具链二进制文件的前缀,这样就可以使用交叉编译器而不是本地编译器。


0
需要将arm-none-eabi-c++或arm-none-eabi-gcc与整个gcc文件夹一起放置[e.g在arm-none-eabi文件夹内],因为编译器还依赖于其他binutils组件/文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接