前回からの続きです。
このテーマを最初からご覧になる場合はこちらからどうぞ。
プログラムの転送とデバッグ
早速、評価ボード「RL78/G14 Fast Prototyping Board」とパソコンを繋げたいと思うのですが、一つ問題が!
こういう評価ボードの場合、USBのコネクタが付いていて、これでパソコンと繋げると給電と同時にデバッガーのファンクション、加えて仮想シリアルポートとしても認識されて、シリアル通信によるデバッグ出力がすぐに使える~って思うでしょ?
ところが、この「RL78/G14 Fast Prototyping Board」はそうなっていないんです。
この評価ボードに付いているUSBのコネクタは給電とデバッガーのファンクションだけで、パソコンと接続しても仮想シリアルポートとしては認識されません。
これからTOPPERS/ASPのサンプルプログラムを動かす際には、動作確認のためにどうしてもシリアルポートが必要です。
そこで、以下のような市販のUSB/シリアル通信変換ケーブルを用意します。
シリアル通信をするために必要なポートは、RXDとTXDとGNDの三本ですね。
以下の赤い四角で囲った端子を使いましょう。
評価ボードからこうやってGNDとRXDとTXDと、それぞれの線を出してやって…
USB/シリアル通信変換ケーブル側の配線は、上からTXD、RXD、GNDの順番でこんな感じ。
これでシリアルポートの問題は解決っと。
続いて、このUSB/シリアル通信変換ケーブルをパソコンに繋いでみましょう。
パソコン上でデバイスマネージャーを開きます。
ポート(COMとLPT)のサブカテゴリーとして「USB Serial Port」というポートが追加されているはずです。
(私のパソコンでは、「COM15」として認識されていますね。)
このポート番号、覚えておいて下さい。
ここで、評価ボードとパソコンもUSBケーブルで繋げちゃいましょ。
ご覧の通り、通電します。
次に「TeraTerm」をご用意ください。
インストールしていない方は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「TeraTermの導入」の項目を参考にしてください。
もちろん、シリアル通信のターミナルであれば、他のものもお使いいただけます。
今回のTOPPERS/ASPのサンプルプログラムは、シリアル通信のメッセージを出力しますので、先程「USB Serial Port」として認識されたシリアルポート番号でターミナルを立ち上げておきましょう。
設定は、こんな感じです。
ボーレートは「9600」です。
(私のパソコンは、USB/シリアル通信変換ケーブルをCOM15として認識していました。)
さて、「e2 Studio」に戻りましょう。
まだサンプルプログラムをビルドしていない場合は、画面右側の「ビルド・ターゲット」タブの中、「OBJ」ディレクトリ直下の「all」をダブルクリックして、ビルドを完了させましょう。
次にデバッガの設定を行います。
画面上部にある緑色の「虫マーク」。
その脇に「▼」ボタンがありますので、それをクリック。
そこで現れた「デバッグの構成」という項目をクリックしましょう。
すると以下のようなダイアログが現れます。
左側のリストから「Renesas GDB Hardware Debugging」という項目をダブルクリックしてください。
ダイアログ右側がガラリと変わりましたね?
この「デバッグ構成」ダイアログの各項目に対し、以下の設定を入力します。
名前:<任意の構成名(ここでは「OBJ」)>
プロジェクト:<プロジェクト名(ここでは「asp_1.9.2」)>
C/C++アプリケーション:C:\cygwin64\home\<ユーザ名>\asp_1.9.2\OBJ\asp.exe
Build Configuration:Use Active
「自動ビルドを無効にする」を選択
お次は現在の「メイン」タブから「Debugger」タブへクリックして切り替えます。
新しく現れた各項目に対し、以下の設定を入力します。
Debug hardware:E2 Lite (RL78)
Target Device:R5F104ML
さて、お次は現在の「GDB Settings」タブから「Connection Settings」タブへクリックして切り替えます。
たくさん設定項目があるんですが、ここでは「エミュレーターから電源供給」の項目だけは忘れずに「いいえ」にしておいて下さい。
最後にもう一丁!
現在の「Debugger」タブから「共通」タブへクリックして切り替えます。
エンコードの設定で「その他」に選択し、文字コードを「UTF-8」に設定してあげて下さい。
これをしないと、デバッガーからの日本語メッセージが文字化けしてしまいます。
これでよ~やく、ダイアログ下部の「適用」ボタンと「デバッグ」ボタンを順にクリックすることで、デバッガーが起動しプログラムの転送が開始されます。
プログラムの転送が終わると、以下のようにスタートアップ・アドレスでプログラムが止まった状態になります。
ここからプログラムを続行してみましょう。
画面上部の「▶」ボタンをクリックすると、プログラムが続行されます。
はい、ここで長らく放置していた「TeraTerm」を見てみましょう。
以下のように、サンプルプログラムが動作していることが確認できます。
プログラムを停止する場合は、画面上部の「■」ボタンをクリックします。
停止させてみましょう。
ついでに「e2 studio」の表示を「デバッグモード」から「C/C++モード」に変更します。
「e2 studio」の画面右上のボタンで切り替えができます。「C/C++」ボタンをクリックします。
ブレークポイントを仕掛けましょう。
画面右の「プロジェクト・エクスプローラー」のソースコードリストの中から「sample1.c」をダブルクリックし、ソースコードを表示します。
このソースコードの丁度中盤くらい、メインタスクの始めに仕掛けましょうか。
ブレークポイントは、ソースコードビューの左端をダブルクリックすることにより丸が表示され、セットすることができます。
(解除したい場合もダブルクリックします。丸が消えます。)
これで本当にブレークポイントがかかるのか、試してみましょう。
画面上部にある緑色の「虫マーク」。
その脇に「▼」ボタンがありますので、それをクリック。
すると今後は、さっき色々と入力した「OBJ」のデバッグ設定が登録されていますので、これをクリックすると、デバッガが起動します。
しばらくして、プログラムの転送と書き込みが完了すると、前と同じようにスタートアップ・アドレスでプログラムが停止しますので、画面上部の「▶」ボタンをクリックして、プログラムを続行させます。
程なくして、以下のように正しくブレークポイントを仕掛けた位置でプログラムが停止するはずです。
ここからは、「F6」キーでステップオーバー、「F5」キーでステップインなど、おなじみの操作が使用できます。
因みに、ステップオーバーやステップインなどを行っている時に命令が飛んでしまったり前後したりする場合は、最適化のせいです。
デバッグ時は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「サンプルプログラムのデバッグ」の項目を参考に最適化を解除しましょう。
さて、RL78版は次回で最終回。
色々な仕様(使用)上の注意事項を書いていきたいと思います。
キリ良く年内…。
0 件のコメント:
コメントを投稿