テンプレート一覧に戻る

C 組み込み

C99/C11 + CMake の組み込みシステム開発向けCLAUDE.md。ハードウェア制御とリソース制約下の開発に最適です。

上級cembeddedcmakefirmware
CLAUDE.md
# プロジェクト名

C で構築された組み込みシステムプロジェクト。

## 技術スタック

- **言語**: C99 / C11
- **ビルド**: CMake 3.28+
- **コンパイラ**: GCC / arm-none-eabi-gcc
- **デバッガ**: GDB / OpenOCD
- **テスト**: Unity Test Framework / CMocka

## コマンド

| コマンド | 用途 |
|---------|------|
| `cmake -B build && cmake --build build` | ビルド |
| `ctest --test-dir build` | テスト実行 |
| `openocd -f board.cfg` | デバッガ接続 |
| `cppcheck --enable=all src/` | 静的解析 |
| `arm-none-eabi-size build/firmware.elf` | バイナリサイズ確認 |

## ディレクトリ構造

| パス | 役割 |
|-----|------|
| `src/` | アプリケーションコード |
| `include/` | パブリックヘッダー |
| `drivers/` | ハードウェアドライバー |
| `tests/` | ユニットテスト |
| `CMakeLists.txt` | ビルド設定 |

## コーディング規約

- MISRA-Cガイドラインに可能な限り準拠
- ヘッダーガード必須(`#pragma once` またはインクルードガード)
- 動的メモリ確保は原則禁止(静的バッファ使用)
- volatile修飾子でハードウェアレジスタアクセス
- 関数は30行以内、循環的複雑度10以下
- すべての警告をエラーとして扱う(-Werror)

## Git規約

- ブランチ: `feature/`, `fix/`, `chore/`
- コミットメッセージ: Conventional Commits形式

関連ガイド

検索

ガイドやテンプレートを検索...