私は組み込みに初めてアクセスし、現在「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/