Linux下uboot编译出错(binbash: arm-none-linux-gnueabi-gcc: command not found )

    技术2023-04-16  109

    unboot压缩包解压(.tar.xz)

    在终端进入解压目录 xz -d ./.tar.xz tar -xvf ./.tar

    向Makefile添加编译路径

    在makefile的开头添加本机的编译路径 ARCH=arm CROSS_COMPILE=/opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi- 第一句表示变为arm,第二句表示交叉编译的编译器路径(自己交叉编译的安装路径)

    网上给出了三种情况如下:

    一、arm-none-linux-gnueabi-gcc不能再64位系统下下编译ARM的32位库的问题解决方法如下: sudo apt-get install libgl1-mesa-dri:i386 sudo apt-get install ia32-libs-multiarch:i386 sudo apt-get install ia32-libs-multiarch apt-get update sudo apt-get install ia32-libs 二、交叉编译工具没有写入环境变量或写错,重新写入环境变量 将交叉编译工具 bin 目录添加到系统 PATH 环境变量中: export PATH=$PATH:/opt/fsl-linaro-toolchain/bin 也可修改~/.bashrc 文件, 按如下方式在 PATH 变量中增加交叉编译工具链的安装路径,然后运行/.bashrc 文件或者重启系统,使设置生效。 三、/bin/bash缺少arm-none-linux-gnueabi-gcc链接符,向其建立链接如下: sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-none-linux-gnueabi-gcc (sudo ln -s 源目录 /usr/bin/链接名) 注:除了arm-none-linux-gnueabi-gcc,其他的遇到同样错误一样使用链接如我的链接如下的链接: sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-none-linux-gnueabi-gcc sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ar /usr/bin/arm-none-linux-gnueabi-ar sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ld /usr/bin/arm-none-linux-gnueabi-ld sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objdump /usr/bin/arm-none-linux-gnueabi-objdump sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objcopy /usr/bin/arm-none-linux-gnueabi-objcopy sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-nm /usr/bin/arm-none-linux-gnueabi-nm

    编译的其他问题

    当以上三个设置都仍然出现错误,出现 hello_world.srec 的错误编译失败,首先进入该编译的编译路径(一般为出现错误时,编译器进去的文件目录),修改 sudo gedir Makefile (不是主目录的makefile,我的在uboot-imx/examples/standalone下) 将原文件的include $(TOPDIR)/config.mk下开始的内容: ELF = hello_world SREC = hello_world.srec BIN = hello_world.bin 改为 ELF = hello_world SREC = hello_world.o BIN = hello_world.o hello_world 重新编译后成功如下图

    Processed: 0.011, SQL: 9