んでは接続テスト。
注意:J-Linkはハブを介さずに直接PCのUSBと繋ぐこと(通信速度が10倍以上も違う)。
これ凄い大事。出来れば太いUSBケーブルで、PCのマザーボード直結のUSBコネクタと繋ぐ方が良い。
オマ環かもだけどULINK2と違ってJ-Linkでは接続するUSBコネクタ次第で速度がかなり変わる。
んで、J-LinkとPCを繋いだら、J-Link用のドライバとツールをSEGGERページからDLしてインストールする。
seggerのJ-LINKツールDLページ("J-Link Software and Documentation Pack"の下の方をクリックする)。
特にワナとかは無くて、DLしたEXEをWクリックするだけで上手く行った(Windows10環境)。
J-LINK用のツール類のインストールと使い方(英語)
ここには他にも面白そうなツールが色々有るみたいだけど無料かどうかは不明。
で、ターゲット(RZA1)との接続確認にはJFlash.exeを使う(ツール類は"C:\Program Files (x86)\SEGGER\JLink_V630e"にある)。
実際にJFlashで書き込みをしようとするとライセンスが必要とか出てきて手続きが要るようなのでやめた。
Connectが確認できれば他はどうでも良い(JFlashLiteであれば実際に書き込みも出来る)。
なおJ-Link付属ツールのJLink.exeではSWDでもJTAGでも繋がった(JTAGの方が少し速いけど大差無し)。
またJFlashLite.exeで1.6MのbinをSWDで焼いてみたが、消去が15秒、書き込みが10秒程だ。JTAGだと更に数秒速い。
速度は最高速度でも行けるが、時間的にはあまり変わらないのでSWDで4000で良いのかも。
J-Linkとターゲットとの接続が確認できたので、今度はe2studioから接続してみる。
※ここはe2studioの画面の色を変更済みの画像です。
[実行]ー[デバッグの構成]から下図のようにセットする。
J-Linkとの接続速度は、SWDのAutoが一番速い(JTAG接続も可能だがSWDと差は無い)。
自分の環境ではOpenCV入りのプロジェクトのクリーンビルドに40秒、BINのターゲットへのDLとデバッグ開始までに30秒程度だ。
e2studioの見た目の変更
[ウインドウ]ー[設定]ー[一般]ー[外観]のテーマで大体の色を決める(ダークを選んだ)。
老眼気味なんでフォントサイズを変更。
コードの色を変更。
#if ~ #else部分の色変更が作動しないようにする。
単語マッチ時の色の変更。
ビルド時のコンソールの色変更
デバッグコンソールの変更はここ
[ウインドウ]ー[設定]で、検索BOXに”コンソール”と入れてやるのがミソ。
アイコンが多すぎて邪魔なんで減らす。
エディットモードとデバッグモードの両方でアイコン削除を行う。
[ウインドウ]ー[Perspective]ー[パースペクティブのカスタマイズ]の順にクリックして開く。
なおモードの切り替えは画面右上のクイックアクセスを使えばOKだ。
エディットモードでは下の方の「ナビゲート」以外のチェックは全部外す。
注意:Renesas-Debugのリセットアイコンは、エディットモードでも有効にしておかないとデバッグモードで出てこない。
デバッグモードに入り、下図のチェックだけを残して全部外す。
最後にクイックアクセスを画面左上に持ってくれば使いやすい。
なお下図(デバッグモード)ではプロジェクトエクスプローラなどを左に移動してる。
e2studioを使う
開始時の注意事項
・J-Linkはハブを介さずに必ず
直接PCのUSBと繋ぐこと(通信速度が10倍以上も違う)。
電源投入順序は「J-link(USBケーブルを繋ぐ) → ターゲットの電源を入れる」だけど適当でも平気。
・実動作時には
J-Linkを外さないと不可解な動きになることがある(CMSIS-DAP使用時も外すこと)。
J-LinkのUSB電源だけ外せばOKなようだ(ターゲットとのケーブルは接続したままで平気そう)。
・時々
プロジェクトのクリーンとExportを行うのが無難。
クリーンすると毎回全部リビルドが発生する場合の
避け方はここ。
・
画面右下の緑色の窓に気を付けろ(これが出てるときはBusy中なのだ)。
新規プロジェクトの作成
新しいプロジェクトを開始するときには、e2studio用の新しいワークスペースを作る方式でやってる。
ただし毎回設定し直すのは面倒なので、一度作ったe2studio環境を使い回す。
自分用の環境が整ったら[プロジェクト]ー[削除]でプロジェクトを消し、空のワークスペースを保存しておく(ここでは”e2_空のベース”という名前で保存してる)。
1,まず親フォルダを作り(ここではA1H_CamPrj)、その中にバックアップ用(_E2Backup)と倉庫用(_倉庫)フォルダを作る。
続いて”e2_空のベース”をコピーしてリネーム(e2_CamPrj)するが、フォルダ名を長目に付けないと、e2studioのワークスペース選択でごちゃつくよ。
そしてe2studioを起動して、ワークスペースとしてe2_CamPrjを選択する。
2,[ファイル]ー[インポート]で既存プロジェクトのZIPを取り込む。
3,画面右下のBusy表示が消えるのを待つ。
4,[プロジェクト]ー[プロパティ]でmakeとOptimizeの状態を確認する。
makeのパラメータ変更でビルド速度が10倍ぐらいは速くなるので必須。
またデバッグ時はOptimizeをNoneまたはdebugにしておかないと、ステップ実行時にあちこち飛んで追いかけにくい(出荷時に最適化を変更しなくても速度は大差ない感じだ)。
なお「ツール設定タブ」が出てこない場合は
こちらを参照。
5,最後に確認のためにプロジェクトのクリーンビルドを行う。
毎回全部リビルドが発生する場合の
避け方。
6,バージョン管理用にファイルをエクスポートする。
[ファイル]ー[エクスポート]でプロジェクトをZIP化し、最初に作った_E2Backupフォルダに保存する。
ファイル名として連番を使うことと拡張子としてZIPの指定が必要だ(次回からは省略も可能)。
プロジェクトの移動(名前変更)
プロジェクトを別のフォルダに移動したり名前を変更した場合は・・・
1,ソースファイルのプロパティからパスを確認しておく。
2,
makefileの再生成を行う。
3,更に「プロジェクトークリーン」してから「プロジェクトーすべてビルド」をやっておけば安心。
その他の情報など
・色の設定ファイルの名前などは
こちらが詳しい。
・[プロジェクト]ー[自動的にビルド]をチェックしておく方が良い。
・ターゲット上で実行するだけなら、DEBUGフォルダ内のbinをmbedドライブにコピーすれば動く。
・デバッグモードでは、自動的にmainの先頭にBPがセットされている。
・デバッグ中の反応は速くuVison+ULINK2並だが、「make → デバッグ開始」までにかなり時間がかかる。
・某国製の怪しいJ-Linkを$11で購入して使ってみたが、Cortex-A9には未対応でダメだった。
・クリーンすると毎回全部リビルドが発生する場合の避け方。
[プロジェクト]ー[プロパティ]から下図の①~⑤の順に操作すると直る。
つまり「①チェックして②適用 → ③チェックを外して④適用 → ⑤OKをクリックする。」
・ビルドの開始が遅い場合の対処(ファイル数が増えてくるとmakefileの生成にやたら
時間がかかるようになるんで避け方)。
[プロジェクト]ー[プロパティ]の下図のチェックを外し「-r」を追加する。NoMayさんに教えて頂きました。有り難うございます。
ただしこれをするとソースを新規に追加した場合などに不整合が起きるので、ソース追加後のみチェックを入れてmakefileを一度生成させること。
またこれをすると「ツール設定」のタブが消えてしまう。
元に戻すには・・・
1,上記で外した二カ所のチェック(自動的にmakefileを生成)を入れ直してから適用ボタンをクリック
2,一旦ダイアログを閉じる
3,再度[プロジェクト]ー[プロパティ]をクリックする
これで「ツール設定」が元に戻る。
なおここで「デフォルトの復元」ボタンは絶対に押さないこと(訳の分からないことになる)。
mbedCLIの環境構築
この頃のmbedはWEBコンパイラとIDE以外に、mbedCLIと言うコマンドラインでのビルド環境もある。
これの良いところはGitHubやMerculialから直接Import可能なので、最新版のコードを使える。
デバッグもe2studioで可能だ(自分の環境ではe2studio上でデバッグは出来るがビルドは出来ない)。
mbedCLIのインストールと操作
1,インストール前にmbedボード(GR-PEACHやLPC1768など)をPCのUSBに接続しておく。
2,ここの指示通りに、ここからmbedCLIのインストーラ”mbed-windows-installer v0.4.3.”をDLして実行する(薄い灰色の文字がリンクになってる)。
3,雪だるまさんの指示に従って操作する(インストール作業は既に終わってるので不要)。 mbedCLI詳細 参考ページ1 参考ページ2
mbedCLIのデバッグ環境構築
※自分の環境ではe2studio上でデバッグは出来るがビルドは出来ません。
事前にimportしてmakeしてエラーのないことを確認しておく(Windws10のコマンドモードを使用)。
またe2studioのワークスペース用のフォルダ(ここではe2_GR_os_Blinky)を作っておき、その中にmbedCLIプロジェクトをフォルダごと入れる。
ビルドは例えばこんな感じ(コマンドモードのC:\_mbed内で作業している)。
C:\_mbed>mbed import https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-blinky/
注:importではURLで指定するのが無難かも(プロジェクト名だとパスワード入力画面になってしまうことがある)。
C:\_mbed>cd mbed-os-example-blinky
C:\_mbed\mbed-os-example-blinky>mbed compile -m RZ_A1H -t GCC_ARM --profile debug
1,e2studioを起動して、上記で作ったCLIのプロジェクトを取り込む(クイックアクセスがデバッガ状態だと下記のメニューが現れないので注意))。
この時の取り込み方がミソだ(雪だるまさんのページを参照)。
2,プロジェクトの取り込みが完了するまで1分程待つ(右下のBusyマークに注意)。
3,プロジェクト名を一発クリックして選択された状態にしてから、[実行]ー[デバッグの構成]をいじる。
・GDBデバッグを新規に作成
・ELFファイルのパスは自動でセットされる(確認)
・J-LinkとCPUの選択をする(確認)
・GDB コマンドにarm-none-eabi-gdbを追加(確認)
・J-LinkをUSBに接続し、ターゲットの電源を入れる。
適用をクリックし、デバッグボタンを押して数分間は待つ。
かなり待たされるが右下のBusyが終わるまで何もしない(エラーが出るかもだけど続行すれば動く)。
mbedCLIの新規プロジェクト作り
mbedCLIのプロジェクトを作るってことは、結局はe2studioでのデバッグも必要になるんで、フォルダ構成は二段になる。
先にe2studioのワークスペース用フォルダ(ここではe2test)を作り、その中でmbedCLIのプロジェクトを作るのがミソ。
「mbed new」するとmbed-osの最新版が取り込まれる。
ここに適当なmain.cppを入れてやりmakeする(こんな感じのファイル構成にする)。
blinkyの中に入ってからmakeする。
e2studioを起動して、ワークスペースとしてe2testを選ぶ。
後はmbedCLIのデバッグ環境構築と同じように[ファイル]ー[新規]でblinkyを選ばOK。
覚え書きTOP