テンプレート一覧に戻る
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形式