ZIPCはキャッツ(CATS)社から販売されている国産CASEツールです。(http://www.zipc.com/)
このZIPCにはエミュレータと連動するオプション機能(ZIPCエミュレータ)があり、状態遷移表のような設計書レベルのデバッグが可能となります。
今回は、このデバッグの流れを簡単にご説明します。
●ZIPCで設計した環境を用意する
ZIPCの使い方についてはマニュアルを参照ください。
また「日経エレクトロニクス」の特設サイト--組み込みアカデミー2「マイコンキットで体験するモデル・ベース開発入門」なども参考になると思います。
今回、C言語のソースまで生成してコンパイルまで終わっていると仮定します。
●ZIPCを起動してみる
今回のターゲット環境です。以前、ESEC会場のキャッツ社のブースにてデモを行ったシステムです。(ルネサス社のH8マイコンを使ったロボットです。リモコンもH8が載っています。)
このロボットを動作させるリモコンのプログラムをZIPCで設計しました。下の画面がその設計書です。
●エミュレータ設定を行う
モードをEmulationに切り替えます。
メニューにて「プロジェクト(P)」→「プロジェクトの設定(S)」→「エミュレータ設定(E)」を実行します。
「エミュレータオプション設定」ダイアログが表示されます。
タブを「環境」に変更します。
「接続ツール」内の「デバッガ情報ファイル(edi)を使用する(S)」にて「ロード(O)」ボタンをクリックします。
「デバッガ情報ファイル(ediファイル)はユーザで作成する必要があります。以下の内容を参考にして作成してください。
--------------------------------------------
[ZIPC Emulator Debugger Information File]
Version = 5.00
Name = CodeStage
IpcMethod = Msg
Command = C:\Program Files\BITRAN\CodeStage\CodeStage.exe
InitDir = C:\Program Files\BITRAN\CodeStage
WndClass = CodeStage
AddOnDLL1 =
--------------------------------------------
ediファイルを指定して「ロード実行(E)」ボタンをクリックしてください。
「CodeStage起動(S)」ボタンが有効になります。
このボタンをクリックしてCode Stageを起動させプログラムのロードまで行います。
タブを「ビューア」に変更します。
「リアルタイム設計サンプリング」内の「サンプリング対象STM選択(L)」でデバッグしたいstmがチェックされていることを確認して「OK」をクリックしてください。
メニューにて「プロジェクト(P)」→「デバッガコネクション制御(B)」→「接続(C)」を実行します。
接続の確認がありますので「OK」をクリックします。
「接続デバッガ選択」ダイアログが表示されるのでCodeStageを選択して「接続(C)」をクリックします。
エラーが表示されなければ接続完了です。
ZIPCのツールバーや「デバッグ」メニューからCode Stageをリモート操作できます。
Code StageのコマンドウィンドウにはZIPCとの通信ログが表示されます。
●プログラムを実行してみる
「デバッグ(D)」→「実行(G)」メニューまたはツールバーの「実行」ボタンを実行します。
現在の状態遷移表での位置が表示されます。
このように実行中にプログラムの状態が設計レベルで確認することができます。
※上の画面の緑のセルが現在の状態です
●設計書レベルでブレークポイントを設定する
まずはターゲットをブレークさせます。
それからロボットが前進して、その後右に進む状態になった時にブレークするようにしたいと思います。
そこでS:1、E:1のセル位置でマウスをクリックして、さらにマウスの右ボタンでポップアップメニューを表示させて「ブレイク設定(B)」を実行します。
ブレークポイントが設定されればセルの色が下の画面のように変わります。
「デバッグ(D)」→「実行(G)」メニューまたはツールバーの「実行」ボタンを実行します。
リモコンを操作します。
条件が一致するとブレークし状態遷移表のセル位置の色が下の画面のように変わります。
ロボットも右に進む前にブレークしました。
●まとめ
簡単ですがCASEツールとの連動したデバッグイメージが掴んでいただけたでしょうか?
プログラムがブレークした時や実行中に、設計レベル(状態遷移表)でどの位置にいるのか、すぐに分かります。とっても便利な機能なので、機会がありましたら是非使ってみてください。
また最近、ZIPCのバージョンが10にアップしたようですが、同じように使えると思います。
●リンク
・使用したターゲットは東洋リンクス社より購入:http://www2.u-netsurf.ne.jp/~toyolinx/
( 社内研修にも活躍しています!! ロボット本体はPirkus社のようです。)
・国産CASEツール キャッツ社のZIPC:http://www.zipc.com/