マイクロソフトが提供しているVisual Studio Code(VSCode)で、ルネサスエレクトロニクスが提供しているe2studioのプロジェクトをビルドする方法をまとめます。
この設定方法は先人たちがブログを書いてくれています。これらの設定を行うにあたり、VSCodeのsetteing.jsonが見つからなかったりなど、初めてやるときに少し悩む部分があったため実施したことをまとめました。
なぜVSCodeでビルドしたいのか?
筆者はルネサスエレクトロニクスのRXマイコンを使ってマイクロマウスという小型自律移動ロボットを開発しています。

このロボットのソフトウェアはルネサスエレクトロニクスが提供しているCubeSuite+(CS+)で作っていましたが、CS+は少々古いIDEで機能が乏しいところがありました。
ルネサスエレクトロニクスにはCS+のほかにe2studioというeclipseベースのIDEがあり、CS+よりも機能が充実しています。
これらのIDEにはルネサスのマイコンにあわせた設定が用意されています。ルネサスのマイコンを使って、これから開発を始める場合、ルネサスのIDEを使うならばCS+ではなくe2studioを使って始める方がベターでしょう。
しかし今回はVSCodeというマイクロソフトが提供しているIDEを使いたいと思っています。
なぜe2studioを使わずVSCodeを使いたいかというと、VSCodeは「コード補完機能が優秀かつエディターが見やすい」からです。

ただ、VSCodeはルネサスのマイコンを開発するための設定は用意されていないため、VSCodeだけではルネサスのマイコンを使ったプログラムをビルドすることはできません。
そこでVSCodeからe2studioを使い、e2studioのプロジェクトをビルドできるようにすることでソフトウェアの開発を行えるようにします。
注:23.09追記 ルネサスからVSCodeに対応した拡張機能が提供されました。ビルドおよびデバッグができます。これから始められる方は「Renesas Extensions for Visual Studio Code」も検討されるのがよいと思います。
設定方法
筆者が使っているIDEのバージョンを記します。
- Renesas e² studio Version: 2022-07 (22.7.0)
- Visual Studio Code: 1.75.1
e2studioでの作業
①e2studioで新しいワークスペース、プロジェクトを作成する。
今回は「test_software_e2pj_by_vsc」というフォルダをワークスペースにして「test_e2pj_by_vsc」というプロジェクトを作成しています。
test_software_e2pj_by_vscフォルダをエクスプローラで作成し、e2studioでワークスペースとして設定します。その後、新しいプロジェクトでtest_e2pj_by_vscという名前のプロジェクトを作成します。
プロジェクトフォルダ内に、generateフォルダ等必要となる部品(データ)が出来上がります。


②e2studioでmotファイルを出力する設定をする。
実際にマイコンへ書き込むファイル(motファイル)をビルドで生成するため、e2studioの設定をします。
・CC-RXプロジェクトの場合:e² studio V6.0 以降でmotやhexファイルを出力する方法
※V6.0以降でmotファイルが自動で生成されなくなった模様。
・GCCプロジェクトの場合:GCCのプロジェクトでHEXファイルを出力する方法
※GCCの場合特に設定しないしなくてもmotファイルが出力されているかもしれません。
設定が終わったら、e2studioのプログラムは終了する。(開いた状態だとVSCodeでビルドのコマンドを実行した際にエラーとなります)
VSCodeでの作業
③VSCodeを起動しe2studioで作成したプロジェクトのフォルダ(Ex. test_e2pj_by_vsc)を開く。
(ファイル/フォルダーを開く)
④名前を付けてワークスペースを同フォルダ(test_e2pj_by_vsc)に保存する。
(ファイル/名前を付けてワークスペースを保存)

⑤settings.json(.vscodeフォルダ)を作成し、内容を変更する。
下記のファイル/ユーザー設定/設定を開き、フォルダ(test_e2pj_by_vsc。③で開いたフォルダ名)のタブをクリックする。
何かを変更すると自動で.vscodeフォルダとsettings.jsonが作成される。


変更したものの設定が書かれています。不要なため削除し、下記の内容を記述する。

{
"files.encoding": "shiftjis", //for CS+ character format
"C_Cpp.default.defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"_VSCODE"
],
"C_Cpp.default.includePath": [
"${workspaceFolder}/**",
"C:/Program Files (x86)/Renesas/RX/3_4_0/include" //ヘッダーファイルの場所
],
}
C_Cpp.default.includePathに記載している内容は環境によります。e2studioのインストール先を探し、ヘッダーファイルの置き場所を11行目に記載します。
⑥ワークスペースに.task.json(.vscodeフォルダ内)を作成し、内容を変更する。
メニューバーで、「ターミナル/タスクの構成/テンプレートからtasks.jsonを生成/MSBuildビルドターゲットを実行」。
.vscodeフォルダ内にtask.jsonのファイルができ、その中身を編集する。(元々書かれていた中身をコメントアウトしている)

{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build e2studio project", // 好きな名前にする
"type": "shell",
"command": "C:\\Renesas\\e2_studio\\eclipse\\e2studioc.exe", // eclipseのパス(環境により書き換える)
"args": [
"-nosplash",
"--launcher.suppressErrors",
"-application",
"org.eclipse.cdt.managedbuilder.core.headlessbuild",
"-data",
"C:/MicroMouse/221228_half_3rd/test_software_e2pj_by_vsc", // e2studioワークスペースのパス(環境により書き換える)
"-cleanBuild",
"test_e2pj_by_vsc/HardwareDebug" // e2studioプロジェクト出力のパス パスは/。(環境により書き換える)
],
"group": "build",
"presentation": {
"reveal": "always",
"clear": true
},
"problemMatcher": []
}
]
}
コメントを書いている行を環境に合わせ記述する。
- eclipseのパス(e2studioのこと)
コマンドラインでe2studioを実行する設定を記述。
argcに書かれているのは、「RENESAS e² studioのプロジェクトをコマンドラインでビルドする方法」に記載の引数。
上記のリンク先に書かれているように、e2studioのフォルダにあるiniファイルをコピーし、名前を変更する。(e2studio.ini→e2studioc.ini)
さらに、VSCode上でビルド時にターミナルで文字化けが発生しないように、名前を変更したiniファイルの先頭に下記を追加する。
-nl
en_US
※文字化けが日本語だと思い、en_US→jaにしてみたが、VSCodeでのビルド時に日本語は出てこなかった。ただ文字化けはなくなった。
- e2studioのワークスペースのパス:
test_software_e2pj_by_vscフォルダまで - e2studioのプロジェクト/ビルド後の出力先のパス:
test_e2pj_by_vsc/HardwareDebugフォルダまで
※HardwareDebugの部分は、e2studioのプロジェクト作成時にConfigurationsで選んだコマンドで変化します。Debugなど。

※Presentationの記載を変えると、ビルド時コマンドラインに表示される文章を変更することができる。
⑦iodefine.hの先頭に記述を追加し保存

#ifdef _VSCODE // 追記部分
#define __evenaccess
#endif
⑧ビルド(Ctrl+Shift+b)を実行する。
まとめ
以上の操作でVSCodeからe2studioのプロジェクトをビルドすることができるようになりました。
VSCodeの補完機能は使いやすく、e2studioのようにctrl+spaceなど押さずにリアルタイムに実行されます。誤記が少なくなり、コーディングのコストも下がると思いますので一度トライしてみてることをお勧めします。
※加えて。実際にマイコンにソフトウェアを書き込むには別ソフトのRenesas Flash Programmerというものが必要です。このプログラムについてもVSCodeから操作することができる方法を紹介しているブログがありましたので、VSCodeで書き込みまで完結させることも可能なようです。
(補足)e2studioでワークスペースの場所を変える
上記ではまずe2studioで設定を行っていますが、ワークスペースを作る場所を間違えてしまったときに場所を変えるやり方の備忘録を書きます。
ワークスペースの設定場所を間違えてしまったときは新しくワークスペースを作り、既存プロジェクトをインポートする方法をとります。
ここではワークスペースを作成する場所は、プロジェクトのフォルダの一つ上のフォルダとします。(「***/フォルダA(ワークスペース)/フォルダB(プロジェクト)」)


参考文献
・とうふ荘の手記てき! ルネサスのマイコンをVSCodeを使ってプログラム、そしてCS+でビルド、Flash Programmerで書き込みを行う。
・/Test_you VS Codeで、RXマイコンの e2studio プロジェクトをビルドする
・アールティ移動型ロボットブログ VSCodeを使ったRXマイコン開発環境の紹介 – d-satoのマイクロマウス研修 Part8