cc1:错误:-march = switch的错误值(armv8-a)

时间:2016-10-19 22:54:25

标签: cross-compiling raspberry-pi3 u-boot

我正在编写u-boot for raspberry pi 3作为此链接中提到的步骤

http://www.embeddedforu.com/embedded-linux/raspberry-pi/how-to-compile-mainline-u-boot-for-raspberry-pi/

我收到此错误:

  

cc1:警告:未知寄存器名称:x18

     

lib / asm-offsets.c:1:0:错误:错误值(armv8-a)for -march = switch

有人可以帮我吗?

我应该已经在主板上进行了u-boot,并且我在上周遇到了麻烦

感谢您的时间

2 个答案:

答案 0 :(得分:1)

gcc的版本是什么,您要构建rpi_3_defconfig(arm64)还是rpi_3_32b_defconfig

arm-linux-gnueabi-gcc -v

使用linaro toolchain 4.9,使用以下环境,传递构建rpi_3_defconfig

wget https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/aarch64-linux-gnu/gcc-linaro-4.9.4-2017.01-x86_64_aarch64-linux-gnu.tar.xz

CROSS_COMPILE=/opt/gcc-linaro-4.9.4-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

ARCH=arm64

答案 1 :(得分:0)

确保使用相同的用户进行导出和编译(请勿使用sudo)。例如,下一条命令将失败:

export CROSS_COMPILE=aarch64-linux-gnu-
make rpi_4_defconfig
sudo make

在这种情况下,make命令将忽略您已导出CROSS_COMPILE变量,并尝试使用默认的本地编译器编译U-Boot。