Skip to main content

IARツールを使用した組み込み開発におけるAIエージェントの活用方法

読了時間:

7分

要点まとめ

AI エージェントの有用性は、何にアクセスできるかで決まります。IAR はドキュメント、デバッガ、Python 自動化レイヤーを公開し、エンジニアが出荷物の主導権を握ったまま、エージェントが実際の組み込み開発作業を行えるようにしました。

  • 課題はモデルではなく「アクセス」:汎用 AI アシスタントは、実行中のターゲット上のレジスタ、メモリ、コールスタックを見ることができず、リリースごとに変わるツールチェーンのドキュメントも確認できません。そのため推測に頼ることになり、組み込み開発では、わずかな推測の誤りが午後いっぱいの時間を奪うこともあります。
  • 3 つのオープンなコンポーネントがエージェントに本物のツールを提供:IAR Documentation MCP Server は、docs.iar.com の内容に基づき、出典へのリンク付きで回答を返します。C-SPY MCP サーバーを使うと、エージェントがデバッグセッションの開始、ブレークポイントの設定、スタックの確認、レジスタやメモリの読み出しを行えます。Python パッケージ cspy-py を使えば、エージェントはデバッグループをモデルの外で実行するスクリプトを 1 本書き、答えだけを返せます。これによりやり取りの回数とトークン数の削減が見込まれます(測定結果はまだ公開されていません)。
  • スクリプトがそのまま繰り返し使えるテストに:同じ cspy-py のロジックは、ハードウェア・イン・ザ・ループ(HIL)構成を含む pytest ベースのファームウェアテストに転用でき、Linux と Windows の両方で、手元の PC でも CI でも実行できます。ボードがなくても、C-SPY シミュレータ上で動作する VS Code のモダンワークフロープロジェクトで試すことができます。
  • 主導権はエンジニアに:これらのツールはまだ発展途上で、IAR の GitHub で公開されており、フィードバックを歓迎しています。デバッガを操作するのはエージェントですが、エージェントが見つけた内容や作成したテストは、パイプラインに組み込む前にエンジニア自身がレビューします。

組み込みプロジェクトで信頼しているのと同じツールをAIエージェントにも提供しましょう

組み込み開発向けのAIエージェントの性能は、そのアクセス範囲によって決まります。コーディングアシスタントはファームウェアを素早く記述しますが、単なるコード生成以外の部分になると行き詰まってしまいます。ターゲット環境を把握できず、ツールチェーンの設定を推測するしかなく、チャットに貼り付けるデバッグ手順のたびに、本来は問題解決に費やしたいはずの時間を奪われてしまいます。

これはモデルの問題ではなく、アクセスに関する問題です。エージェントが真の組み込み開発業務を行えるよう、IARツールチェーンの3つの要素——ドキュメント、デバッガー、そして自動化とテストのためのPythonレイヤー——を開放しました。

なぜAIアシスタントは組み込み開発に苦戦するのか?

組み込み開発は、汎用アシスタントには見えない要素に依存しています。「なぜこのハードフォルトが発生するのか?」という問いへの答えは、実行中のターゲット上のレジスタ、メモリ、およびコールスタックの中にあります。 「どのオプションが必要か?」という問いへの答えは、リリースごとに変更されるツールチェーンのドキュメントの中にあります。これらへのアクセスがない場合、アシスタントは自信を持って推測することでそのギャップを埋めますが、組み込み開発において、ほんの少しの誤った推測が半日の時間を無駄にすることになりかねません。

AIアシスタントはIARのドキュメントを読み取ることができるのでしょうか?

はい。 IARドキュメントMCPサーバー は、アシスタントを docs.iar.com の公式ドキュメントに接続します。MCP(Model Context Protocol)は、アシスタントが外部ツールやデータソースを呼び出せるようにするオープンスタンダードです。回答は、ユーザーが自ら検索するのと同じページに基づいており、多くの場合、出典へのリンクも付いているため、ワンクリックで検証できます。

認証は不要で、Claude Code、Visual Studio Code内のGitHub Copilot、Cursor、Claude Desktopなど、MCP互換のツールで動作します。設定は1つのコマンド、または簡単な設定エントリで完了します。

実用的なヒント:製品名とターゲットアーキテクチャを明記し、エラーメッセージをそのまま貼り付けてください。質問が具体的であればあるほど、より良い回答が得られます。

AIエージェントはC-SPYを使ってどのようにファームウェアのデバッグを行うのか?

ドキュメントには「どうあるべきか」が記載されています。デバッガーは「実際に何が起きたか」を示してくれます。

The C-SPY MCPサーバー は、C-SPYデバッガーをエージェント向けのツールとして公開します。これにより、セッションの開始、ターゲットの実行・停止、ブレークポイントやウォッチポイントの設定、スタックやローカル変数の検査、レジスタやメモリの読み取り、逆アセンブリの表示、ターミナル出力のキャプチャなどが可能です。 応答は構造化されており、機械可読なエラーコードが含まれているため、何かが失敗した場合でも、エージェントはループに陥ることなく回復することができます。リポジトリには、セッションのブートストラップやターゲットの停止待ちなど、エージェント向けに書かれた簡潔なプレイブックも含まれています。

稼働中のシステムに干渉したくない場合は、「稼働中のターゲットへのアタッチ」モードを使用することで、ターゲットをリセットしたり再プログラムしたりすることなく、その状態を読み取ることができます。

Pythonスクリプトでトークンを保存し、ファームウェアテストを自動化できるか?

可能です。そして、ここがワークフローの効率化につながるポイントです。エージェントが異なるツールでさまざまなアクションを実行するデバッグセッションでは、各ステップごとに往復処理が発生します。エージェントがツールを呼び出し、結果が会話に反映され、モデルは増え続ける履歴を読み直し、次の呼び出しを決定します。 10ステップの調査であれば、モデルを通るのも10回となり、すべてのペイロードがコンテキスト内に保持されます。

この cspy-py Pythonパッケージ は、作業のあり方を一変させます。エージェントは、バックエンドを起動し、ブレークポイントを設定し、それらまで実行し、値を読み取り、答えのみを出力する単一のスクリプトを作成します。このループはモデルの外で実行され、結果のみがコンテキストに戻ってきます。

python

import iar_cspy as cspy

with cspy.launch("/path/to/iar/install") as client:

with client.debugger.session("launch.json") as dbg:

client.breakpoints.add("your_function")

dbg.go_and_wait(timeout=10)

print(dbg.eval_int("your_variable"))

ラウンドトリップの回数が少なければ、通信量も減り、トークン数も減って処理速度が向上するはずです。測定結果は公開していないため、ご自身のプロジェクトで試して比較してみてください。

また、このスクリプトはセッション終了後も存続します。cspy-pyにはpytestプラグインが含まれているため、同じロジックを用いて、ハードウェア・イン・ザ・ループ(HIL)環境を含む再現可能なファームウェアテストが可能になります。これはLinuxおよびWindows上で、ノートPCでもCI環境でも実行可能です。テストダブルを使用すれば、バックエンドなしでテスト対象のコード周辺のユニットテストを行うことができます。

「Modern Workflow Tutorial」を使って、ボードなしで試してみる

この動作を確認する最も手っ取り早い方法は、 モダンワークフロー プロジェクトです。これは、Dev Container内のVisual Studio Codeで開くことができる既製のサンプルであるため、 IAR Build Tools、CMake、およびデバッグ拡張機能が自動的にセットアップされ、チーム全員が同じ環境を利用できます。

CMakeのプリセットを使用してビルドし、C-SPYシミュレータでユニットテストを実行し、シミュレータ上でF5キーを押してデバッグを行います。ハードウェアをお持ちの場合は、I-jetおよびJ-Linkもサポートされています。 開始するのにボードは不要なため、エージェントに任せるのに安全なプロジェクトです。ドキュメントで何かを調べたり、C-SPYセッションを開始したり、ブレークポイントで停止したり、見つけた内容をテストに変換したりするようエージェントに指示してみてください。

図1. Visual Studio Code上のC-SPY MCPサーバーを使用した、AI支援型組み込みデバッグのワークフロー。

ビルドにはIARクラウドライセンスまたは評価用トークンが必要ですが、リポジトリには両方のサインイン方法について説明があります。 IARに連絡して に連絡して、評価用クラウドライセンスを取得してください。

留意点

これらはまだ開発初期段階のため、変更される可能性があります。これらは IARのGitHub で公開されており、皆様からのフィードバックをお待ちしています。エージェントがデバッガーを操作しますが、エンジニアであるのはあなたです。エージェントが検出した内容を検証し、パイプラインに組み込む前にエージェントが作成したテストを確認してください。

同じデバッガー。同じツールチェーン。今や、あなたのエージェントにも開放されています。

まだIARのお客様ではありませんか?

ぜひ IARがAIを活用したワークフローで、チームが組み込みソフトウェアをより迅速に開発できるようどのように支援しているかをご確認ください。または 無料トライアルをダウンロードして して、その効果を実際に体験してください。

    IAR Embedded Development Tools

    Explore now