以下に示すようにyoctoを使用してIMX6 Sabersdの画像を構築しました。yoctoを使用したsoftfp用のツールチェーン構成
#curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
#repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.10.53-1.1.0_ga
#repo sync
#source setup-environment build
#bitbake core-image-minimal
ビルド時にIMX6用のgcc-4.8ソースとコンパイルツールchianが表示されます。 toochainはハード浮動小数点を使用しています( "./arm-poky-linux-gnueabi-gcc -v"でチェックし、出力は "--float-with = hard"です)、私の要件はtoolchainがsoftfpを使用することです。
私は、hardfpと互換性のないサードパーティの事前構築ライブラリを使用している理由があります。コンパイル時に、以下に示すようにエラーが発生しています。
ld: error: *Executable* uses VFP register arguments, *Library* does not
ld: failed to merge target specific data of file *Library*
私はsoftfpとツールチェーンをコンパイルするyoctoに設定を変更することができますどのように助けることができます。
フリースケールのyoctoのどのバージョンが使用されているのかわかりませんでしたが、 "poky/meta/recipes-devtools/gcc /"の下にgcc-4.8レシピがあります。
感謝を返信するために:あなたはまた、上書きする
conf/local.conf
にこのような何かを追加することができますpoky/meta/conf/machine/include/
に変更したいファイルがなければなりません。私はlocal.confに "TARGET_CC_ARCH"を追加してみましたが、エラー "http://pastebin.com/1Mg5pWur"で失敗しました。設定ログをチェックしているときに、autoconfエラーが "http://pastebin.com/4c4EhHq6"になっていました。あなたはこれを助けてくれますか? – Ravi
'/ build/tmp'を削除してビルド全体をクリーンアップしよう –
" TARGET_CC_ARCH "の" -march = armv7a "を使用してコンパイルの問題を修正しました。 IMX6 SabersdボードはCortex-A9をベースにしており、これを最初から更新していませんでした。 Cortex-A9はarmv7aを使用しているようです。 – Ravi