EBB*_*lut 4 linux gcc arm u-boot centos7
我正在尝试创建一个 u-boot 映像文件。但我有一些错误吗?
\n\ngcc version: 7.3.0\n\nmake PATH=/opt/CodeSourcery/Sourcery_G++_Lite/arm-2011.03-41-arm-none-linux-gnueabi:$PATH\nexport CROSS_COMPILE=arm-linux-gnueabihf-(or arm-none-linux-gnueabi)\nmake ARCH=arm xilinx_zynq_defconfig\nmake -j ARCH=arm UIMAGE_LOADADDR=0x8000 uImage\n
Run Code Online (Sandbox Code Playgroud)\n\n错误:
\n\ngcc: error: unrecognized argument in option \xe2\x80\x98-mabi=aapcs-linux\xe2\x80\x99\ngcc: note: valid arguments to \xe2\x80\x98-mabi=\xe2\x80\x99 are: ms sysv\ngcc: error: unrecognized command line option \xe2\x80\x98-mlittle-endian\xe2\x80\x99; did you mean \xe2\x80\x98-fconvert=little-endian\xe2\x80\x99?\ngcc: error: unrecognized command line option \xe2\x80\x98-mfpu=vfp\xe2\x80\x99; did you mean \xe2\x80\x98-mcpu=\xe2\x80\x99?\n CC scripts/mod/devicetable-offsets.s\n
Run Code Online (Sandbox Code Playgroud)\n\n我该如何修复?任何想法?
\n您的 PATH 指向某个 2011 GCC 交叉编译器。您至少需要 2016 年发布的 GCC 6。请安装最新版本的 GCC。
在 Debian 或 Ubuntu 上,主机系统的 C 编译器和交叉编译器是单独的软件包。您可以使用以下命令安装 32 位和 64 位 ARM 的交叉编译器:
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install gcc-aarch64-linux-gnu
Run Code Online (Sandbox Code Playgroud)
由于编译器安装在 /usr/bin 中,因此设置 CROSS_COMPILER 变量就足够了,例如
export CROSS_COMPILE=arm-linux-gnueabihf-
Run Code Online (Sandbox Code Playgroud)
或者
export CROSS_COMPILE=aarch64-linux-gnu-
Run Code Online (Sandbox Code Playgroud)