web-dev-qa-db-ja.com

ARM用Clangクロスコンパイル?

ARMプロセッサーのクロスコンパイル用にClangをセットアップすることは可能ですか?ホストはおそらくx86(AMD64-おそらくUbuntu 12.04)にあり、ターゲットはARM(Raspberry PiとPandaboard-それぞれに個別のコンパイルを行います)、PowerPCアーキテクチャ用にクロスコンパイルしたい場合がありますか?プログラムソースはCです。

26
haziz

ソフトフロート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オプションを使用します

26
Marat Dukhan

EmbToolkit プロジェクトを参照してください。それはclang/llvmまたはgccベースのクロスコンパイラツールチェーンを生成する機能を提供します。

1
user2126966