GR-ROSEを統合開発環境e2studioで開発する方法

# 記事の概要
GR-ROSEはルネサス製マイコンRX65Nを採用したマイコンボードです。
GR-ROSEの開発は、ArudinoのようにwebコンパイラやGUIで行えますが、本記事では統合開発環境e2studioで開発する方法を紹介します。

準備は少し大変ですが、高機能な統合開発環境を用いることで開発の効率化が期待できます

# e2studioのインストール

まず統合開発環境e2studioのインストールを行います。
インストール方法は、以下の動画およびマニュアルの第2章を参照してください。

[Renesas Synergy™ 開発環境のインストール ～e2 studio編～](https://www.renesas.com/us/ja/support/videos/synergy-install-e2studio.html)

[e2 studio 統合開発環境 ユーザーズマニュアル 入門ガイド](https://www.renesas.com/jp/ja/doc/products/tool/doc/014/r20ut4374jj0100-e2studio.pdf)

# エミュレータとの接続
GR-ROSEにはエミュレータ接続コネクタが存在します。

<img width="40%" alt="端子機能.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/f03674b1-7a73-dd35-a828-0eef8f638197.jpeg">


現在、エミュレータ用変換基板が開発中という話を聞いております。（詳細は後日改めて紹介いたします。）
そのような変換基板を使用しない場合は、以下のQ&Aの配線図を参照して配線してください。

[GR-ROSEにE1エミュレータは接続可能ですか？](https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-rose/6004/gr-rose-e1)

詳細は[E1/E20/E2エミュレータ, E2エミュレータLiteユーザーズマニュアル別冊 (RX接続時の注意事項)](https://www.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut0399jj1300_e1e20e2e2lite_rx.pdf)のp26「2.4.4. 14ピンコネクタでのRX63x, RX64x, RX65x, RX66x, RX71x, RX72xグループ FINE接続」の以下の図を参照してください。

![コネクタ接続図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/46f2866b-6c54-e2be-46d7-850083a592d8.png)

図中で配線の必要があるのは、MD/FINED、RES#、VCC、GNDの4つになります。GR-ROSEの場合、プルアップ抵抗は不要になります。

以下はE1エミュレータを用いますが、E2エミュレータでも同様のことができるはずです。
実際に配線した状態は以下になります

<img width="50%" alt="E1との接続.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/ef046f1a-df6c-8d48-d972-1afdf6ef6c7f.jpeg">

<img width="50%" alt="配線1.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/9ffb820a-a448-b4e8-b768-d72572789c36.jpeg">

<img width="50%" alt="配線裏.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/e3d6318d-a423-5a60-b942-54b250cf3bb0.jpeg">

<img width="50%" alt="接続部拡大.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/bf737946-31a1-87ce-f172-ad355caae2a9.jpeg">


# サンプルプロジェクトのダウンロード


サンプルプロジェクトとして[rose-sketch-v105-e2v7.zip](https://www.renesas.com/software/gadget-renesas/gr-rose/rose-sketch-v105-e2v7.zip)をダウンロードします

「ファイル」→「インポート」を選択します。

<img width="50%" alt="e2インポート.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/f4e8368f-8c84-d851-742d-5a098a5cdb18.png">

「既存プロジェクトをワークスペース」を選択します。

<img width="50%" alt="e2インポート2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/3f062725-8721-4198-3062-4f48928741c9.png">

「アーカイブファイルの選択」にチェックを入れ、参照して先にダウンロードしたzipファイルを選択します。

<img width="50%" alt="e2インポート3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/b683d520-d7f2-9def-950f-d9db167d7d35.png">


選択後、「終了」をクリックすればプロジェクトが作成されます。

<img width="50%" alt="e2インポート4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/7ddc7b70-de67-5447-7801-eb12ccc052ee.png">


プログラムソース等は以下からダウンロードできます。

https://www.renesas.com/jp/ja/products/gadget-renesas/boards/gr-rose.html#resources

# ビルド

サンプルプログラムの「sketch.cpp」を見ると、LED点滅とUART通信をしているのが分かります。
これをビルドしてelfファイルを生成します。


プロジェクト名を右クリックして「ビルド構成」→「アクティブにする」→「Debug(For debugging with E2 Lite.)」を選択します。


<img width="50%" alt="e2ビルド1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/9c6a105a-9198-33fb-9f74-86328115f593.png">


ビルド構成がDebugの場合、ツールチェインを選択しないといけません。
プロジェクト名を右クリックして「プロパティ」を選択します。

<img width="50%" alt="e2ビルド2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/19149585-e54f-a9a9-f6f3-e09ed6818590.png">

Toolchainタグを選択し、「GCC for Renesas RX」を選択します。

<img width="50%" alt="e2ビルド3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/91ed9aeb-1c4d-e0de-7179-4286303dc6f8.png">

プロジェクト名を右クリックして「プロジェクトのビルド」を選択します。

<img width="50%" alt="e2ビルド8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/43120316-a73c-1cf1-8eb5-2bc9a966b690.png">

ビルドに成功するとelfファイルが生成されます。

# デバッグ

ビルドにより生成されたelfファイルを右クリックし、「デバッグ」→「デバッグの構成」を選択します。

<img width="50%" alt="e2ビルド6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/fc49b477-2f60-a141-9f20-9b22870e0060.png">

Debuggerタグを選択し、Debug hardwareを使用したいエミュレータを選択し（私の場合「E1(RX)」）、ターゲット・ボードとの接続の接続タイプを「FINE」にします。

<img width="50%" alt="e2ビルド4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/143a8860-bf7e-d9ba-a582-ecb8339247ec.png">

以上の設定を行ってから、以下のデバッガアイコンをクリックすると、GR-ROSEとE1エミュレータが接続します。

<img width="50%" alt="e2ビルド7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/7f91e7fc-ef2b-63e6-325e-aa6844eb0b36.png">


E1エミュレータとの接続に成功後、デバッガの開始ボタンをクリックします。

<img width="50%" alt="e2ビルド5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/ce2e1d59-89e7-617f-6825-7c3a23ef84d0.png">


GR-ROSEのLEDが点滅を開始するのが確認できます。

今回、電源はE1エミュレータから供給しているので、GR-ROSEのUSB給電は不要なのですが、GR-ROSEとPCをUSB接続すると以下のようにUART通信が確認できます。

<img width="50%" alt="動作確認.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/150620/ae64c0a8-4800-3aa3-3900-7ea95d8cd30a.png">