GCC ARM Embedded
Arm and GNU project contributors · C/C++ベアメタルファームウェア向けArm GNUクロスツールチェーン。arm-none-eabiコンパイラ、バイナリユーティリティ、ライブラリ、デバッガーを収録。
GCC ARM Embedded は「プログラミング言語とランタイム」カテゴリの Mac 用ソフトウェアです。
紹介
GCC ARM Embeddedは、32ビットArmベアメタル開発向けにArmが提供する、ビルド済みGNUクロスツールチェーンのカタログ名です。選択されたarm-none-eabiツールはMacホスト上で動作し、互換性のあるArmターゲット向けのコードを生成します。ホストプロセッサとファームウェアのターゲットアーキテクチャは別々に選択します。これはコマンドラインのコンパイラ/ツールチェーンであり、グラフィカルIDE、ボードエミュレーター、完全なファームウェア書き込みアプリケーションではありません。
機能と対象ユーザー
- GCCとarm-none-eabiターゲットを使ってCおよびC++のファームウェアをコンパイルします。
- GNU Binutilsでコードをアセンブル、リンクします。
- シンボルの確認、オブジェクトの逆アセンブル、バイナリ形式の変換を行います。
- 適切なターゲットとデバッグサーバーの構成が利用可能な場合、GDBでデバッグします。
- 提供されるベアメタルランタイムライブラリ、Newlib、文書化されたサンプルを使用します。
- ボードに合わせてプロセッサ、命令セット、浮動小数点ABIのオプションを選択します。
対応するCortex-M、Cortex-R、その他のAArch32ベアメタルターゲットを扱う組み込み開発者、ファームウェアのビルドシステム、教育関係者を対象としています。Arm GNU Toolchainのリリース全体には他のターゲットバリアントも含まれますが、このcaskが選択するのはarm-none-eabiです。AArch64版やLinuxターゲット版はインストールされず、MacをArm Linuxホストにするものでもありません。
インストールとMacのサポート
brew install --cask gcc-arm-embeddedでインストールするか、対応する公式macOSパッケージインストーラーを使用してください。カタログの既定の15.3.rel1パッケージはdarwin-arm64です。これは、AArch32ベアメタルをターゲットとするApple Siliconネイティブのホストツールです。公式リリースノートでは、macOS 11以降が必要とされています。Intel専用のバンドルではなく、ターゲットコードがArmであるというだけでRosettaが必要になることもありません。
現行のcaskにあるIntel Mac向けバージョンは14.2.rel1のままで、darwin-x86_64ツールを使用します。このリリースではmacOS 12以降が必要とされています。Intel版macOSホストのサポートは14.2に非推奨となり、15.3のホストサポート表には含まれていません。Intel向けに最新の既定リリースが提供されると決めつけたり、Rosettaを使えばarm64ホスト用パッケージがIntel Macで動作すると考えたりしないでください。過去のリリースとその要件は、個別に確認する必要があります。
caskは/Applications/ArmGNUToolchain/<version>/arm-none-eabiにインストールされ、接頭辞付きツールをHomebrewのbinディレクトリにリンクします。直接インストールした場合、適切なbinディレクトリをPATHに追加する必要があります。明示的なツールパスを使うと、ビルドに使用するツールを明確にできます。他のSDKやツールチェーンが、同じ名前のarm-none-eabiプログラムを提供することもあります。PATHの順序を確認し、先頭に見つかった実行ファイルが想定どおりのバージョンやABIだと決めつけず、プロジェクトで使用するコンパイラを固定してください。
依存関係と動作
実際のMCU、ボードのメモリマップ、浮動小数点ABI、ランタイム要件に合わせて、コンパイラフラグとリンカースクリプトを選択してください。ボードSDK、スタートアップコード、ビルドユーティリティ、エディター/IDEは、プロジェクトに別途必要なものです。ファームウェアのビルドにボードを接続する必要はありませんが、通常、書き込みやハードウェアデバッグには互換性のあるハードウェア、プローブ、別途ソフトウェア/デバッグサーバーの設定が必要です。GDBだけでは、すべてのプローブドライバーやフラッシュユーティリティは提供されません。caskには、追加のformula依存関係も、明示的に競合するcaskも記載されていません。
15.2以降では、macOSパッケージに通常のGDBと、Pythonスクリプトをサポートする別個の-py GDBが含まれます。後者はPython 3.9.7を使用してビルドされています。スクリプト対応デバッガーを使う場合に限り、リリースに記載されたPythonのセットアップ要件に従ってください。通常のコンパイルにPythonが一律に必要というわけではありません。それ以前の14.2 macOS版GDBはPythonスクリプトをサポートしていません。LinuxまたはWindows向けに記載された依存関係が、Macにも自動的に必要になるわけではありません。
システムパッケージのインストールには、管理者の承認が必要な場合があります。それ以外では、ソースファイルやビルド出力へのコマンドラインからのファイルシステムアクセスを使用します。通常のコンパイルで、アクセシビリティや画面収録の許可が必要とは記載されていません。Armは、信頼できないソースをコンパイルすると、任意のコード実行や過剰なリソース消費が起こり得ると警告し、サンドボックス環境を推奨しています。ソースファイルとビルドスクリプトは、安全が保証された文書ではなく、実行可能なプロジェクト入力として扱ってください。
費用、ライセンス、製品の沿革
Arm GNU Toolchainは無料でダウンロードして使用でき、ローカルでのコンパイルに有料のコンパイラライセンスやオンラインアカウントは必要ありません。任意のIDE、クラウドサービス、ボード、プローブには、別途費用やライセンスがかかる場合があります。コンポーネントごとにライセンスは異なります。GCC、Binutils、GDBにはGPLの条件があり、該当するGCCランタイムファイルにはGCC Runtime Library Exceptionが適用されます。Newlibなどのライブラリには、それぞれ独自の告知があります。再配布の際は、すべてのコンポーネントや生成プログラムに単一のライセンスを当てはめず、同梱のEULA/ライセンス一式を確認してください。
Armは従来のA-profileとGNU Arm Embeddedのリリース系列をArm GNU Toolchainに統合しました。旧ダウンロードページは非推奨となり、新しいリリースはArm GitLabで公式に提供されています。ただし、現在のcask自体が無効化または非推奨になったという意味ではありません。現在のcaskは無効化も非推奨化もされていません。LLVMベースのArm Toolchain for Embeddedは別製品であり、このGNUパッケージのバージョン違いではありません。
既定のApple Silicon向け15.3.rel1パッケージは、公式のHTTP HEADメタデータによると280,574,793バイトです。インストール後のファイルや他のホスト向けビルドでは、サイズが異なります。リリースノートには、MVEイントリンシックの入れ子、CMSEのクローン化/リンク、破棄されたセクションを含むデバッグなど、既知の制限が記載されています。該当機能を使う場合は、内容を確認してください。
出典:公式プロジェクト、15.3リリースノート、14.2リリースノート、公式インストールガイド、コンポーネントのライセンス。
新バージョン 15.3.rel2の更新内容 OpenNavo編集部 · AI翻訳
- 変更FP16と16ビット固定小数点間の有効なVCVT命令が拒否される問題を修正。
インストールとアンインストール
Homebrew はインストーラ arm-gnu-toolchain-15.3.rel2-darwin-arm64-arm-none-eabi.pkg を実行するため、管理者パスワードの入力が必要です。
Homebrew を使わずにインストール
Homebrew が使うのと同じファイルをダウンロード: gitlab.arm.com/api/v4/projects/tooling%2Fgnu-toolchains-for-arm/packages/generic/gnu-toolchain/15.3.rel2/arm-gnu-toolchain-15.3.rel2-darwin-arm64-arm-none-eabi.pkg
SHA-256 はダウンロードしたファイルが完全かを確かめるためのもので、安全性の認証ではありません。 SHA-256 とダウンロード URL を見る
$ brew uninstall --cask \gcc-arm-embedded通常のアンインストールではアプリ本体だけを削除し、設定とキャッシュは残ります。
情報と出典
- バージョン 15.3.rel2
- Homebrew が記録した日:10月9日
よくある質問
GCC ARM Embedded は安全ですか?
GCC ARM Embedded は Homebrew の公式カタログに収録されており、無効化されていません。2026 年 9 月から、Homebrew は macOS の Gatekeeper チェックに通らないアプリを無効化しています。インストール時に Homebrew は、gitlab.arm.com からダウンロードしたファイルを SHA-256 チェックサムで照合します。過去 30 日間に Homebrew 経由で 1,136 回インストールされました。
Mac から GCC ARM Embedded を完全にアンインストールするには?
brew uninstall --cask gcc-arm-embedded を実行します。これによりインストール記録 1 件の消去が行われます。
GCC ARM Embedded の最新バージョンは?
最新バージョンは 15.3.rel2 で、Homebrew には 10月9日 に追加されました。brew upgrade --cask gcc-arm-embedded を実行するとアップデートできます。
GCC ARM Embedded をインストールすると、ほかに何が入りますか?
arm-none-eabi-ar、arm-none-eabi-as、arm-none-eabi-c++、arm-none-eabi-c++filt、arm-none-eabi-cpp など、コマンドラインツール 32 個も追加されます。.pkg インストーラでインストールされるため、管理者パスワードの入力が必要です。