Contents
【2024年版】C言語 組込み開発環境の構築手順 5ステップ
「C言語 組込み 開発 環境 設定 方法」を最新の無料ツールチェーンと主要IDEで実務レベルに解説。Windows・macOS・Linux 別のインストール手順からデバッグ設定、サンプルビルドまでを網羅し、すぐに動作確認が可能です。
1️⃣ ツールチェーン選定と公式ダウンロード方法
| ツールチェーン | 価格 | 主な対象CPU | デバッグ支援 | 入手先(2024年5月時点) |
|---|---|---|---|---|
| ARM GCC (GNU Arm Embedded Toolchain) | 無料 | Cortex‑M0/M3/M4/M7、R 系列など | GDB/OpenOCD 互換 | https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm |
| LLVM/Clang for ARM | 無料 | Cortex‑A 系列、Cortex‑M(限定) | LLDB/GDB 互換 | https://releases.llvm.org/ |
| Green Hills Compiler | 商用 (評価版あり) | SH, PowerPC, ARMv8‑M, RISC‑V 等 | GHS デバッガ、GDB 互換オプション有 | https://www.ghs.com/products/compiler.html |
選択指針
- コストを抑えて多数のボードで動作させたい → ARM GCC が第一候補。
- 最新最適化技術や A 系列 CPU が必要 → LLVM/Clang。
- 商用サポート・高度なリアルタイム最適化が必須の場合は Green Hills の評価版で試すと良いでしょう。
ARM GCC(最新版)インストール例
|
1 2 3 4 |
1. 上記公式ページへアクセスし “Downloads” → “Windows (64‑bit)” を選択 2. ダウンロードファイル名は例: gcc-arm-none-eabi-10.3-2021.07-win32.exe 3. 管理者権限で実行し、インストール先をデフォルト(例: C:\Program Files\GNU Arm Embedded Toolchain\10 2021)に設定 4. インストール後、コマンドプロンプトで `arm-none-eabi-gcc --version` が表示されることを確認 |
LLVM/Clang(最新版)インストール例
|
1 2 3 4 |
1. https://releases.llvm.org/download.html の “Pre-Built Binaries” → Windows (64‑bit) を選択 2. ダウンロードファイル例: LLVM-17.0.6-win64.exe 3. インストーラ実行時に “Add LLVM to system PATH” にチェックを入れる 4. `clang --version` でバージョンが表示されれば完了 |
Green Hills Compiler(評価版)インストール例
|
1 2 3 4 |
1. https://www.ghs.com/products/compiler.html の “Evaluation” ボタンからメールアドレスを登録 2. 送付されたリンクから zip ファイル(例: GHS_Compilers_Eval_Win64.zip)を取得 3. 解凍後、setup.exe を管理者権限で起動し指示に従う。ライセンスキーはメール本文に記載されたものを入力 4. `gshs --version`(実行ファイル名はインストール時の設定に依存)で確認 |
共通チェック:PATH が正しく通っているかは、各ツールの
--versionコマンドで必ず確かめてください。
2️⃣ OS 別開発環境構築(VSCode をベースにした手順)
Windows 11:VSCode + MSYS2 のセットアップ
| 手順 | 内容 |
|---|---|
| ① VSCode インストール | https://code.visualstudio.com/ から公式インストーラを取得し、既定設定でインストール。 |
| ② C/C++ 拡張導入 | Marketplace → 「C/C++ (Microsoft)」 を検索してインストール。 |
| ③ MSYS2 インストール | https://www.msys2.org/ の手順に従い、msys2-x86_64-20240603.exe(最新版)をダウンロードし実行。インストーラは GUI で完了後、以下のコマンドでパッケージを更新・導入します。 |
| ④ 必要ツールチェーン導入 | # MSYS2 の MINGW64 環境へ切り替え (MSYS2 terminal)pacman -Syu && pacman -Su# ARM 用 GCC と OpenOCD をインストールpacman -S mingw-w64-ucrt-x86_64-arm-none-eabi-gcc mingw-w64-ucrt-x86_64-openocd# PATH へ追加 (システム環境変数) setx PATH "%PATH%;C:\msys64\mingw64\bin"<br> |
| ⑤ VSCode の tasks.json 設定例 | .vscode/tasks.json に以下を配置(パスは実際のインストール先に合わせて調整)。 |
| ⑥ デバッグ設定 (launch.json) | GDB/OpenOCD を利用したデバッグ構成を追加。 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// .vscode/tasks.json { "version": "2.0.0", "tasks": [ { "label": "Build (ARM GCC)", "type": "shell", "command": "arm-none-eabi-gcc -mcpu=cortex-m4 -g -O0 -Wall ${workspaceFolder}/src/main.c -o ${workspaceFolder}/build/main.elf", "group": "build" } ] } // .vscode/launch.json(GDB + OpenOCD) { "version": "0.2.0", "configurations": [ { "name": "(gdb) OpenOCD Debug", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/main.elf", "miDebuggerPath": "arm-none-eabi-gdb", "miDebuggerServerAddress": "localhost:3333", "cwd": "${workspaceFolder}", "externalConsole": false } ] } |
macOS / Linux:Homebrew / apt / dnf による導入
| OS | コマンド例 |
|---|---|
| macOS (Homebrew) | brew install arm-none-eabi-gcc llvm openocd |
| Ubuntu (apt) | sudo apt update && sudo apt install gcc-arm-none-eabi clang openocd |
| Fedora (dnf) | sudo dnf install arm-none-eabi-gcc clang openocd |
ポイント
- インストール先は通常 /usr/local/bin(macOS)や /usr/bin(Linux)になるため、PATH の先頭に追加しておくと他のツールと衝突しにくい。
- which arm-none-eabi-gcc で実行ファイルの場所を確認し、期待通りであれば完了です。
3️⃣ IDE の選択基準 ― Visual Studio と VSCode の比較
| 項目 | Visual Studio (Community) | VSCode |
|---|---|---|
| 対象規模 | 大規模チーム・統合ビルドシステム向け | 小〜中規模、軽量開発に最適 |
| デバッグ機能 | 組込み向け拡張(JTAG/SWD)を標準搭載、プロファイラやコード解析ツールが豊富 | GDB/LLDB 拡張が必要。設定は launch.json に記述 |
| プロジェクト管理 | ソリューション/プロジェクト単位で GUI 管理。ビルド構成の切替が容易 | ファイルベース(CMake 等を利用) |
| 拡張性 | 主に Microsoft エコシステム内 | Marketplace が非常に多様。Docker、WSL2 などと組み合わせやすい |
| 学習コスト | 初期設定が比較的多いが GUI が助けになる | JSON 設定が中心なので自動化しやすく、学習曲線は緩やか |
結論
- Visual Studio はコード解析・プロファイリングが必須な本格開発に向く。
- VSCode は環境構築の柔軟性と軽快さを求める個人/スタートアップ、またはマルチプラットフォームで同一設定を共有したい場合に最適です。
4️⃣ Green Hills Software MULTI(中立的な紹介)
主な特徴(2024年版情報)
| 項目 | 内容 |
|---|---|
| 対応 OS | Windows、Red Hat / CentOS 系 Linux(64‑bit) |
| 統合コンパイラ | GHS Compiler とシームレスに連携し、コードサイズ・実行速度の最適化を支援 |
| デバッガ | GHS デバッグサーバは GDB 互換モードを提供。VSCode の cppdbg 拡張や Eclipse からも接続可能 |
| ライセンス形態 | 商用フルライセンス、30日間の評価版、教育機関向け割引あり |
| 導入ハンドル | 評価版は公式サイトからメールアドレス登録で取得でき、ZIP 配布後に install.exe でインストール |
インストール手順(評価版)
text
1. https://www.ghs.com/products/multi.html の “Request Evaluation” をクリックし必要情報を入力。
2. メールで届くダウンロードリンクから MULTI_2024_Win64.zip を取得。
3. ZIP を解凍 → install.exe を管理者権限で実行(デフォルトのインストール先は例: C:\Program Files\Green Hills Software\MULTI)。
4. 環境変数 GHSPATH に “C:\Program Files\Green Hills Software\MULTI\bin” を追加。
5. ライセンスマネージャを起動し、メールで受領した評価ライセンスファイル(*.lic)をインポートすれば使用可能。
|
1 2 3 4 5 |
1. https://www.ghs.com/products/multi.html の “Request Evaluation” をクリックし必要情報を入力。 2. メールで届くダウンロードリンクから MULTI_2024_Win64.zip を取得。 3. ZIP を解凍 → `install.exe` を管理者権限で実行(デフォルトのインストール先は例: C:\Program Files\Green Hills Software\MULTI)。 4. 環境変数 GHSPATH に “C:\Program Files\Green Hills Software\MULTI\bin” を追加。 5. ライセンスマネージャを起動し、メールで受領した評価ライセンスファイル(*.lic)をインポートすれば使用可能。 |
注意:商用利用の際は必ず正式ライセンスを取得してください。評価版は機能制限がなくても 30 日間に限定されます。
5️⃣ デバッグツールとビルドシステムの実装例
OpenOCD の基本設定(汎用テンプレート)
board.cfg (例: STM32F4 系列)
|
1 2 3 4 5 |
interface ft2232 ft2232_vid_pid 0x0403 0x6010 # FTDI デバイスのベンダー/プロダクト ID transport select swd set CHIPNAME stm32f4x source [find target/stm32f4x.cfg] |
ポイント
-ft2232_vid_pidの値は使用している USB‑JTAG デバイスに合わせて変更してください。
- 設定ファイルはプロジェクトルートのopenocd/board.cfgなど任意の場所に置き、起動時に-fオプションで指定します。
OpenOCD 起動例
Linux/macOS のターミナル、Windows は MSYS2 / Git Bash 推奨
|
1 |
openocd -f interface/ftdi.cfg -f openocd/board.cfg |
Makefile(最小構成)
|
1 2 3 4 5 6 7 8 9 10 11 |
CC := arm-none-eabi-gcc CFLAGS := -mcpu=cortex-m4 -g -O0 -Wall SRC_DIR := src OBJ := $(patsubst $(SRC_DIR)/%.c, %.o, $(wildcard $(SRC_DIR)/*.c)) all: main.elf main.elf: $(OBJ) $(CC) $(CFLAGS) $^ -o $@ %.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f .o .elf |
CMake(バージョン 3.27 推奨)
|
1 2 3 4 5 6 7 |
cmake_minimum_required(VERSION 3.27) project(EmbeddedSample LANGUAGES C) # ツールチェーン設定は外部ファイル (toolchain-arm.cmake) に分離しても可 set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_C_COMPILER arm-none-eabi-gcc) add_executable(main.elf src/main.c) target_compile_options(main.elf PRIVATE -mcpu=cortex-m4 -g -O0 -Wall) |
Ninja ビルド(CMake 経由)
bash
|
1 2 3 |
bash cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug ninja -C build # => build/main.elf が生成される |
選択指針
- Make:シンプルで学習コスト最低。小規模プロジェクトに最適。
- CMake + Ninja:マルチプラットフォーム・IDE 連携が容易。大規模開発や CI に向く。
6️⃣ サンプルプロジェクトでフローを体感
手順概要
| ステップ | 内容 |
|---|---|
| ① リポジトリ取得 | git clone https://github.com/embedded-sample/arm-cortex-m4-demo.git |
| ② ツールチェーン確認 | arm-none-eabi-gcc --version、openocd -v が表示されるかチェック |
| ③ ビルド (CMake + Ninja 推奨) | bashcd arm-cortex-m4-democmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debugninja -C build |
| ④ バイナリサイズ確認 | arm-none-eabi-size build/main.elf |
| ⑤ OpenOCD 起動 | openocd -f openocd/board.cfg(別ターミナルで実行) |
| ⑥ VSCode デバッグ開始 | デバッグビュー → “(gdb) OpenOCD Debug” を選択し ▶️ で起動。ブレークポイントがヒットすれば成功 |
書き込みスクリプト例(flash.sh)
|
1 2 3 4 5 6 7 |
!/usr/bin/env bash set -e OpenOCD がバックグラウンドで起動している前提 telnet localhost 4444 <<EOF program build/main.elf verify reset exit quit EOF |
実務ヒント:CI/CD パイプライン(GitHub Actions、GitLab CI)でも同様のコマンドを流せば、プルリクエストごとにファームウェアサイズやビルド成功可否を自動チェックできます。
7️⃣ まとめ
- ツールチェーンは「最新安定版」 を公式サイトから取得し、PATH へ正しく追加。
- OS 別の導入手順は VSCode + C/C++ 拡張を共通基盤に、Windows は MSYS2、macOS/Linux は Homebrew/apt/dnf を利用。
- IDE の選択は開発規模とデバッグ要件で決定:Visual Studio が大規模・高度解析向け、VSCode が軽量・マルチプラットフォーム対応に最適。
- Green Hills MULTI は評価版を試すだけでも機能差が把握できる が、商用利用時は正式ライセンス取得が必須。
- デバッグは OpenOCD + GDB(または LLDB) の組み合わせが事実上の標準。Make/CMake/Ninja から好きなビルドシステムを選択可能。
- サンプルプロジェクトで一通りの流れ(クローン → ビルド → 書き込み → デバッグ) を体験すれば、実務へスムーズに移行できます。
次のアクション:上記手順をローカル環境で実行し、
build/main.elfが生成されたら「開発準備完了」です。問題があれば各ステップのログを確認し、PATH やデバイス ID の設定が正しいか再チェックしてください。
ダウンロードリンク(参考)
- ARM GCC: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm
- LLVM: https://releases.llvm.org/download.html
- OpenOCD: http://openocd.org/
- VSCode 拡張(C/C++): https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools