我一直在关注这个教程关于如何在嵌入式系统上设置基本引导加载程序配置。由于无法构建它,我一直停留在 U-boot 部分。
下载U盘
git clone https://github.com/STMicroelectronics/u-boot.git
cd u-boot
git checkout v2018.11-stm32mp-r2.1
构建软件
export CROSS_COMPILE=arm-linux-
make stm32mp15_basic_defconfig
make menuconfig
sudo apt install device-tree-compiler
make DEVICE_TREE=stm32mp157a-dk1
进入make DEVICE_TREE=stm32mp157a-dk1
终端后显示以下错误信息:
make: arm-linux-gcc: Command not found
/bin/sh: 1: arm-linux-gcc: not found
dirname: missing operand
Try 'dirname --help' for more information.
scripts/kconfig/conf --syncconfig Kconfig
./scripts/binutils-version.sh: line 18: arm-linux-as: command not found
CHK include/config.h
CFG u-boot.cfg
/bin/sh: 1: arm-linux-gcc: not found
make[1]: *** [scripts/Makefile.autoconf:77: u-boot.cfg] Error 1
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'. Stop.
我已将工具链和 U-boot 文件夹添加到 PATH 中。也arm-linux-gcc
属于arm-training-linux-uclibcgnueabihf
.
我对嵌入式系统和 Linux 总体来说是新手。
我在网上搜索了解决方案。问题似乎是它使用 x86 而不是arm(?)并且安装lib32bz1
似乎可以解决它。但是,它对我不起作用。
可能是什么原因造成的?我该如何解决这个问题?
答案1
交叉编译器的路径错误。检查交叉编译器的路径,检查是否可以通过cmd行输入访问gcc arm-linux-gcc
,是否可以访问交叉编译器。