arm-none-eabi-c++
"arm-none-eabi"というのは、GNU ARMコンパイラツールチェーンの一部であり、特定のターゲットプラットフォームとABI(Application Binary Interface)を示すための名前です。この名前は以下の部分から成り立っています:
arm: これはターゲットアーキテクチャを示しています。ここではARMアーキテクチャに対応しています。
none: これはターゲットオペレーティングシステムを示します。この場合、「none」は特定のオペレーティングシステムに依存しない、つまり「OSなし」で動作することを意味します。これは組み込みシステムやベアメタルプログラミングに適しています。
eabi: これは「Embedded Application Binary Interface」を示します。EABIは、組み込みシステム用に設計された標準的なバイナリインターフェースで、関数の呼び出し規約やメモリレイアウトなどを定義しています。EABIは、高い性能と小さなコードサイズを重視して設計されています。
したがって、「arm-none-eabi」は、オペレーティングシステムを持たないARMターゲット用の組み込みアプリケーションバイナリインターフェースを使用することを示しています。これは、リアルタイムオペレーティングシステム(RTOS)やベアメタル環境での開発に一般的に使用されます。