組み込みの埋まってるとこ

システム寄りの組み込みCプログラミングBLOG

arm-none-eabi-gccとは何か?

arm-none-eabi-gccとは何か?

arm-none-eabi-gccとはGCCのクロスコンパイラです。 クロスコンパイラとはプログラムを実行するターゲットとは異なるホストコンピュータで コンパイルすることができるコンパイラのことです。

arm-none-eabiの意味

gccの手前にハイフンで区切られた長い前置きが付いていますが、この部分はトリプルと呼ばるコンパイラ命名するときの慣習で、クラスコンパイラがターゲットとしているmachine-vendor-osを意味しています。

しかし必ずしもこの慣習どおりに命名されていないこともよくあり、 arm-none-eabiの場合は次のように考えばよいでしょう。

  • arm ... ARM用の
  • none ... 特定のベンダーが提供するものではない
  • eabi ... EABIと呼ばれるABIに準拠したバイナリコードを生成するコンパイラ

arm-none-eabi-gccの使い方

arm-none-eabi-gccはこれだけを単体で入手しても専門的な技術がなければ完全に動作するプログラムをコンパイルすることができません。 通常はターゲットにしている環境のSDKを入手しその指示に従って使用します。