Contents
🎯 本ガイドの価値提案
- 最新情報を厳選:2026 年 4 月時点で公式サイトが公開している最新版(※リリース日は各プロジェクトの公式ページをご確認ください)だけを掲載。予測情報は一切排除し、読者が「今すぐダウンロード」できるようにしています。
- 実務重視の構成:ツールチェーン導入 → IDE 連携 → デバッグ・CI/CD の流れを一本化。各工程で必要なコマンドと設定ファイルだけを示し、余計な説明は削ぎ落としました。
- TechTatsujin 独自のサポート:本サイト限定の「セットアップチェックリスト」や「トラブルシューティング集」を随時更新中。質問があれば Discord コミュニティ(@TechTatsujin)でリアルタイムに回答します。
1️⃣ 推奨無料ツールチェーン 3 本柱
| ツールチェーン | 現行公式バージョン (2026‑04) | 主な対応マイコン |
|---|---|---|
| GNU Arm Embedded Toolchain | 12.2(2025‑10 リリース) | STM32F4/F7、NXP i.MX RT、Nordic nRF52 系列 |
| Zephyr SDK | 0.16(Zephyr 3.6 に同梱) | nRF52840、ESP‑C3、Raspberry Pi Pico (RP2040) |
| RISC‑V GCC | 13.2.0(2026‑02 リリース) | SiFive E31、GD32VF103、Espressif ESP‑C3 |
※ バージョンは執筆時点の公式リリースです。各プロジェクトの「Releases」ページで最新情報をご確認ください。
これらを組み合わせれば、ARM Cortex‑M 系列と RISC‑V 系列の主要 MCU をすべてカバーできます。
2️⃣ 各 OS へのインストール手順(簡潔版)
Windows
- MSYS2 または WSL (Ubuntu) を利用。パッケージマネージャが依存関係を自動解決し、数クリックで完了します。
|
1 2 3 4 5 6 |
# MSYS2 の例 pacman -Syuu # パッケージデータベース更新 pacman -S mingw-w64-x86_64-arm-none-eabi-gcc # ARM pacman -S mingw-w64-x86_64-riscv64-elf-gcc # RISC‑V echo 'export PATH="/mingw64/bin:$PATH"' >> ~/.bashrc |
macOS
- Homebrew が公式に対応。
arm-none-eabi-gccとriscv64-elf-gcc、Zephyr SDK のインストーラがワンコマンドで入ります。
|
1 2 3 4 5 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install arm-none-eabi-gcc brew tap riscv/riscv && brew install riscv64-elf-gcc brew install zephyr-sdk |
Linux (Debian/Ubuntu 系)
aptで ARM と RISC‑V をインストールし、Zephyr SDK は公式スクリプトから展開。
|
1 2 3 4 5 |
sudo apt update && sudo apt install -y gcc-arm-none-eabi gcc-riscv64-elf wget -O zephyr-sdk.run https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.16.0/zephyr-sdk-0.16.0-linux-x86_64.run chmod +x zephyr-sdk.run && sudo ./zephyr-sdk.run -- -d /opt/zephyr-sdk echo 'export ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk' >> ~/.bashrc |
ポイント:どの環境でも PATH へツールチェーンディレクトリを追加すれば、シェルから arm-none-eabi-gcc -v 等が実行できることを確認してください。
3️⃣ 主な IDE への統合方法
| IDE | 推奨プラグイン・拡張機能 | 設定の要点 |
|---|---|---|
| VSCode | C/C++ (Microsoft)、Cortex‑Debug、CMake Tools | settings.json に "cortex-debug.armToolchainPath": "/usr/local/bin/arm-none-eabi-" を追記し、.vscode/launch.json で OpenOCD または J‑Link を選択 |
| Eclipse CDT | Embedded CDT (旧 GNU MCU Eclipse) | プロジェクト作成時に Cross GCC → arm-none-eabi- を指定。デバッグ構成で OpenOCD → インターフェースとターゲットを設定 |
| CLion | 内蔵 CMake + Remote Toolchains | Settings > Build, Execution, Deployment > Toolchains で WSL/Docker の arm-none-eabi-gcc パスを指定し、デバッガは GDB Server(OpenOCD)を選択 |
TechTatsujin だけのヒント:VSCode の拡張機能は自動更新が頻繁に行われるため、設定ファイルはリポジトリで管理し、チーム全員が同一環境になるよう
settings.jsonをバージョン管理してください。
4️⃣ デバッグチェーンの構築とよくある課題
基本構成
- GDB(GNU Arm Embedded Toolchain に同梱)
- OpenOCD(公式リポジトリから最新版取得)
OpenOCD の最小設定例(STM32F4)
|
1 2 3 4 5 6 7 8 |
source [find interface/stlink.cfg] transport select swd source [find target/stm32f4x.cfg] adapter speed 1800 gdb_port 3333 telnet_port 4444 |
保存後は次のコマンドで起動し、別ターミナルから GDB 接続:
|
1 2 3 |
openocd -f ./stm32f4.cfg & arm-none-eabi-gdb build/MyApp.elf -ex "target remote localhost:3333" |
J‑Link / DAPLink への切替
| デバッガ | 起動コマンド例 |
|---|---|
| J‑Link | JLinkGDBServer -device STM32F407VG -if SWD -speed 4000 -port 3333 |
| DAPLink (CMSIS‑DAP) | openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg |
トラブルシューティング(要点)
| 症状 | 原因例 | 解決策 |
|---|---|---|
| GDB が接続できない | USB ポートの権限不足 (Linux) | sudo chmod a+rw /dev/ttyACM* もしくは udev ルールを追加 |
| OpenOCD 起動直後に “Error: unable to select target” | インターフェースとターゲットが不一致 | 正しい interface/*.cfg と target/*.cfg の組み合わせを使用 |
| J‑Link が認識しない | ケーブルが充電専用 | データ転送対応の USB ケーブルに交換 |
5️⃣ サンプルプロジェクトで実証 – CI/CD パイプライン例
プロジェクト構成(Blink)
|
1 2 3 4 5 |
MyBlink/ ├─ CMakeLists.txt ├─ src/main.c # LED 点滅実装 └─ linker/stm32f4.ld # カスタムリンカスクリプト |
CMake 設定(抜粋)
|
1 2 3 4 5 6 7 8 9 10 11 |
cmake_minimum_required(VERSION 3.21) project(MyBlink C ASM) set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_ASM_COMPILER arm-none-eabi-as) set(CFLAGS "-mcpu=cortex-m4 -mthumb -O2 -g3 -ffunction-sections -fdata-sections") add_executable(${PROJECT_NAME}.elf src/main.c) target_link_options(${PROJECT_NAME}.elf PRIVATE "-T${CMAKE_SOURCE_DIR}/linker/stm32f4.ld" "-Wl,--gc-sections") |
ビルド手順
|
1 2 3 4 |
mkdir build && cd build cmake -G Ninja .. # CMake がツールチェーンを自動検出 ninja # .elf と .hex が生成される |
OpenOCD でのフラッシュコマンド
|
1 2 3 |
openocd -f interface/stlink.cfg -f target/stm32f4x.cfg \ -c "program build/MyBlink.hex verify reset exit" |
GitHub Actions ワークフロー(.github/workflows/embedded.yml)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
name: Embedded Build & Test on: push: branches: [ main ] pull_request: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install toolchain run: | sudo apt-get update sudo apt-get install -y gcc-arm-none-eabi openocd ninja-build cmake - name: Build run: | mkdir build && cd build cmake -G Ninja .. ninja |
TechTatsujin の提案:実機テストが必要な場合は、セルフホストランナー(USB パススルー対応)を用意すれば同じワークフローで自動書き込みが可能です。
6️⃣ まとめ & 次のアクション
- 公式リリースを確認し、上記ツールチェーンをインストール。
- 環境変数と PATH を設定したら、
arm-none-eabi-gcc -vが正しく表示されることをチェック。 - 好みの IDE(VSCode/Eclipse/CLion)にプラグインを導入し、デバッグ構成を作成。
- サンプル Blink プロジェクトでビルド・フラッシュを実行し、LED が点滅すれば成功です。
- CI/CD パイプライン(GitHub Actions 例)に組み込んで、コード変更ごとに自動コンパイルを走らせましょう。
📌 TechTatsujin のサポートリンク
- セットアップチェックリスト:https://tatsujin.tech/checklist
- Discord コミュニティ(質問・情報交換):
discord.gg/TechTatsujin - 最新リリース情報ページ:各ツールチェーン公式サイトへのリンク集(随時更新)
「2026 年の組込み開発は、正しい無料ツールと確かな設定だけで始められる」
このガイドがあなたのプロジェクト立ち上げに役立つことを願っています。次は実際にコードを書いて、ハードウェアに書き込んでみましょう! 🚀