前回からの続きです。
このテーマを最初からご覧になる場合はこちらからどうぞ。
プログラムの転送とデバッグ
ターゲットの「Arduino UNO R4」とデバッガの「E2 emulator Lite」を前々回作成したケーブルで接続します。
こんな感じ。
これからTOPPERS/ASPのサンプルプログラムを動かす際には、動作確認のためにどうしてもシリアルポートが必要です。
そこで、以下のような市販のUSB/シリアル通信変換ケーブルを用意します。
作成したケーブルからシリアル通信用の赤(TXD)、青(RXD)、黒(GND)の線を出しておきましたよね?
それらを以下のように接続します。
USB/シリアル通信変換ケーブル側の配線は、上からTXD、RXD、GNDの順番でこんな感じです。
続いて、このUSB/シリアル通信変換ケーブルをパソコンに繋いでみましょう。
パソコン上でデバイスマネージャーを開きます。
ポート(COMとLPT)のサブカテゴリーとして「USB Serial Port」というポートが追加されているはずです。
(私のパソコンでは、「COM15」として認識されていますね。)
このポート番号、覚えておいて下さい。
ここで「E2 emulator Lite」とパソコン、「Arduino UNO R4」とパソコンをそれぞれUSBケーブルで接続しましょう。
厄介なのは「E2 emulator Lite」がUSB mini-B、「Arduino UNO R4」がUSB Type-Cと、異なるケーブルが必要なことです。
それぞれを接続すると、ご覧の通り通電します。
次に「TeraTerm」をご用意ください。
インストールしていない方は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「TeraTermの導入」の項目を参考にしてください。
もちろん、シリアル通信のターミナルであれば、他のものもお使いいただけます。
今回のTOPPERS/ASPのサンプルプログラムは、シリアル通信のメッセージを出力しますので、先程「USB Serial Port」として認識されたシリアルポート番号でターミナルを立ち上げておきましょう。
設定は、こんな感じです。
ボーレートは「9600」です。
(私のパソコンは、USB/シリアル通信変換ケーブルをCOM15として認識していました。)
さて、「e2 Studio」に戻りましょう。
まだサンプルプログラムをビルドしていない場合は、画面右側の「ビルド・ターゲット」タブの中、「OBJ」ディレクトリ直下の「all」をダブルクリックして、ビルドを完了させましょう。
<追記>
この記事を書いている過程で、雛形プロジェクトの作成時に「Arduino UNO R4」のクロック設定の作業を忘れていることに気が付きました。
大変お手数ですが「TOPPERS/ASP - Arduino UNO R4版 その3~クロックの設定」を追記しましたので、こちらに戻ってクロック設定を行ってから、再び生成された雛形プロジェクトのソースコードをTOPPERS/ASPのディレクトリにコピーしてください。
次にデバッガの設定を行います。
画面上部にある緑色の「虫マーク」。
その脇に「▼」ボタンがありますので、それをクリック。
そこで現れた「デバッグの構成」という項目をクリックしましょう。
すると以下のようなダイアログが現れます。
左側のリストから「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 (ARM)
Target Device:R7FA4M1AB
さて、お次は現在の「GDB Settings」タブから「Connection Settings」タブへクリックして切り替えます。
たくさん設定項目があるんですが、ここでは「エミュレーターから電源供給」の項目だけは忘れずに「いいえ」にしておいて下さい。
最後にもう一丁!
現在の「Debugger」タブから「共通」タブへクリックして切り替えます。
エンコードの設定で「その他」に選択し、文字コードを「UTF-8」に設定してあげて下さい。
これをしないと、デバッガーからの日本語メッセージが文字化けしてしまいます。
これでよ~やく、ダイアログ下部の「適用」ボタンと「デバッグ」ボタンを順にクリックすることで、デバッガーが起動しプログラムの転送が開始されます。
プログラムの転送が終わると、以下のようにスタートアップ・アドレスでプログラムが止まった状態になります。
ここからプログラムを続行してみましょう。
画面上部の「▶」ボタンをクリックすると、プログラムが続行されます。
はい、ここで長らく放置していた「TeraTerm」を見てみましょう。
以下のように、サンプルプログラムが動作していることが確認できます。
プログラムを停止する場合は、画面上部の「■」ボタンをクリックします。
停止させてみましょう。
ついでに「e2 studio」の表示を「デバッグモード」から「C/C++モード」に変更します。
「e2 studio」の画面右上のボタンで切り替えができます。「C/C++」ボタンをクリックします。
ブレークポイントを仕掛けましょう。
画面右の「プロジェクト・エクスプローラー」のソースコードリストの中から「sample1.c」をダブルクリックし、ソースコードを表示します。
このソースコードの丁度中盤くらい、メインタスクの始めに仕掛けましょうか。
ブレークポイントは、ソースコードビューの左端をダブルクリックすることにより丸が表示され、セットすることができます。
(解除したい場合もダブルクリックします。丸が消えます。)
これで本当にブレークポイントがかかるのか、試してみましょう。
画面上部にある緑色の「虫マーク」。
その脇に「▼」ボタンがありますので、それをクリック。
すると今後は、さっき色々と入力した「OBJ」のデバッグ設定が登録されていますので、これをクリックすると、デバッガが起動します。
しばらくして、プログラムの転送と書き込みが完了すると、前と同じようにスタートアップ・アドレスでプログラムが停止しますので、画面上部の「▶」ボタンをクリックして、プログラムを続行させます。
程なくして、以下のように正しくブレークポイントを仕掛けた位置でプログラムが停止するはずです。
ここからは、「F6」キーでステップオーバー、「F5」キーでステップインなど、おなじみの操作が使用できます。
因みに、ステップオーバーやステップインなどを行っている時に命令が飛んでしまったり前後したりする場合は、最適化のせいです。
デバッグ時は、このページ(TOPPERS/ASPのビルドからデバッグまで~サンプルプロジェクトのデバッグ)の「サンプルプログラムのデバッグ」の項目を参考に最適化を解除しましょう。
さてさて、これでTOPPERS/ASPをビルドして動かすところまで、一通りの説明ができたと思います。
次回は、応用編。
このTOPPERS/ASPとRenesas社純正のライブラリパッケージ「Flexible Software Package (FSP)」を組み合わせて使う方法について書いていけたらなぁ…と思います。
豊富なライブラリが使えるようになれば、電子工作の幅が広がりますよ!
0 件のコメント:
コメントを投稿