ARM プロセッサのクロス コンパイル用に Clang をセットアップすることは可能ですか? ホストはおそらく x86 (AMD64 - おそらく Ubuntu 12.04) にあり、ターゲットは ARM (Raspberry Pi と Pandaboard - それぞれに対して個別のコンパイルを行います) であり、ある時点で PowerPC アーキテクチャ用にクロスコンパイルしたい場合もあります。 ? プログラムのソースは C です。
2 に答える
ソフトフロート Linux ディストリビューションを実行している Raspberry Pi 用にクロスコンパイルするには、フラグを追加します。-ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp
hard-float Linux ディストリビューションを実行している Raspberry Pi 用にクロスコンパイルするには、フラグを使用します。-ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard
Pandaboard 用にクロスコンパイルするには、フラグを使用-ccc-host-triple arm-eabiv7 -mthumb -mfpu=neon-fp16 -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard
します (Pandaboard が Ubuntu を実行していると仮定します)。
注: の代わりに、より新しいclang
バージョンの使用オプション-target
-ccc-host-triple
EmbToolkitプロジェクトを参照してください。これは、clang/llvm または gcc ベースのクロス コンパイラ ツールチェーンを生成する機能を提供します。