make: xscale_be-gcc: コマンドが見つかりません

make: xscale_be-gcc: コマンドが見つかりません

私は組み込みに初めてアクセスし、現在「Embedded Linuxについて」を読んでいます。

xscale armカーネルを構築しようとしています。

make ARCH=arm CROSS_COMPILE=xscale_be- ixp4xx_defconfig
#
# configuration written to .config

以下はブランドです。

~/linux-stable$ make ARCH=arm CROSS_COMPILE=xscale_be- zImage
make: xscale_be-gcc: Command not found
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
/bin/sh: 1: xscale_be-gcc: not found
make[1]: *** [kernel/bounds.s] Error 127
make: *** [prepare0] Error 2

gcc-arm-none-eabi-4_9-2014q4をダウンロードして抽出しました https://launchpad.net/gcc-arm-embedded

ルートを設定して

パス=/opt/gcc-arm-none-eabi-4_9-2014q4/bin/

xscaleアーキテクチャには別のコンパイラが必要ですか?

xscale_be-gccを見つけるためのアイデアはありますか?

答え1

私は同じ本を読んで同じセクションに閉じ込められました。だから...ちょっとした調査の最後に、最後にixp4xxターゲット用のカーネルをコンパイルしました。

以下からARMツールチェーンをダウンロードしてください。 開発者 arm コンパイラ v6 それから...

$ mkdir -p ~/opt

$ CD ~/オプション

$tar xjf ~/Download/gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2

$chmod -R -w ~/opt/gcc-arm-none-eabi-6-2017-q2-update

インストールが正しく行われていることを確認

~/opt$ gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-gcc --version

出力は次のとおりです。

arm-none-eabi-gcc (ARM 組み込みプロセッサ用 GNU ツール 6-2017-q2-update) 6.3.1 20170620(リリース) [ARM/embedded-6-branch 249437] Copyright (C) 2016 Free Software Foundation, Inc. ..

これで、カーネルソースツリーを準備できます。

ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-ixp4xx_defconfig を作成します。

いよいよコンパイル...

ARCH=arm CROSS_COMPILE=~/opt/gcc-arm-none-eabi-6-2017-q2-update/bin/arm-none-eabi-zImage を作成します。

成功!

ターゲットに最適なコンパイラではなく、カーネルパッチが必要な場合がありますが...本のすべての手順に従うにはそれで十分だと思います。

BR、

答え2

あなたのマザーボードは何ですか?カーネルを設定しましたか?マザーボードと一致するようにカーネルを設定し、corss-compileツールチェーンを指定する必要があります。

arm-none-eabi-*ベアメタルではない? Linuxでは使用できません。誰を使うべきですかgcc-arm-none-eabi-4_9-2014q4

また、ルートをリセットしています!これを行う:

パス=$パス:/opt/gcc-arm-none-eabi-4_9-2014q4/bin/

関連情報