私はこれに従いました地図時間組み込みシステムでデフォルトのブートローダ設定を設定する方法について説明します。ビルドできず、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に初めて触れました。
解決策を見つけるためにオンラインで検索しました。問題はarm(?)の代わりにx86を使用しているようですが、インストールするとlib32bz1
解決されるようです。しかし、それは私には動作しません。
原因は何ですか?この問題をどのように解決できますか?
答え1
クロスコンパイラパスエラーです。クロスコンパイラのパスを確認し、cmd行入力を介してgccにアクセスできることarm-linux-gcc
、およびクロスコンパイラにアクセスできることを確認します。