ARMプロセッサーのクロスコンパイル用にClangをセットアップすることは可能ですか?ホストはおそらくx86(AMD64-おそらくUbuntu 12.04)にあり、ターゲットはARM(Raspberry PiとPandaboard-それぞれに個別のコンパイルを行います)、PowerPCアーキテクチャ用にクロスコンパイルしたい場合がありますか?プログラムソースはCです。
ソフトフロートLinuxディストリビューションを実行しているRaspberry Piをクロスコンパイルするには、フラグ-ccc-Host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp
を追加します
ハードフロート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ベースのクロスコンパイラツールチェーンを生成する機能を提供します。