概要
Renesas社製のマイコン、R7F100GGF3CFBを使う話。
マイコンについて
R7F100GGF3CFBはRenesas製マイコンRL78シリーズのうち、general向け最上位モデル、RL78-G23らしい。
RL78は産業用のド定番で、省電力がめちゃ売りらしい。
メモリ容量の大きいRL78-G2xはR7F~~~、それ以前のRL78-G1xはR5F~~~という型番になっている。
生産終了って書いてあるんだが、ディスコンま?
やること
RL78のメジャーな開発環境である、e2studioの導入をする。
IDEの有名フレームワークであるEclipseをベースにしており、だいたいCubeIDEと似た感じで使える。
e'スクエア'スタジオと読むらしい。I2Cみたいな。
やや参考資料が少なく、またバージョン違いだったりするので、自分が沼ったところをここに備忘録。
e2studioインストール
↑に従って進めていく。
↑からe2studioインストーラーをDL、ぽちぽちして進める。
インストーラーのDLにはRENESASアカウントの作成が必要だが、登録するEmailはgmailやoutlookなど一般のものではだめ。社用メアドや、学生なら大学メアドなどを使う必要があるらしい。
gmailで登録してみたところ、いくら待っても認証が届かなかった。
また、私の場合、途中でInvocationTargetException An error occurred while collecting items to be installeと謎エラーを吐いて途中で止まってしまった。
これはなんだかインストール時使用する回線周りの問題で、大学WiFiを使っているとだめらしい?
半端な状態であろうフォルダC:Renesasを削除し、家の回線でもう一度インストーラーを起動すれば問題なく入った。
RFPのインストール(不要)
書き込みツール、RFPを↑よりインストールする。IDE側のdebug機能で十分なので別にいらなかった。
プロジェクトの作成
ファイル>新規>C/C++プロジェクト>LLVM for Renesas RL78 C/C++ Executable Project...で作成。
GCCでは、RL78-G2xシリーズがターゲット・デバイス欄に現れず、使えない。
スマートコンフィグレータもLLVMでしか使えないようなので、多分こちらのがよいかと。
LLVMの方が新しい環境らしい。
RXシリーズを使う際はGCCを選択してもスマートコンフィグレータが使える?
プロジェクト名を決め(後で変えようとするとパス周りだるくなるので注意)、プロジェクト設定画面。
初期ではツールチェーン・バージョンが空欄になっていることがある?
「ツールチェーン・バージョンが選択されていません」などとエラーがでる場合、ツールチェーンの管理>DownloadからGCC & LLVM for Renesas RL78にチェックをいれ、追加する。
戻ってもまだ空欄の場合、e2studioを再起すればなんらか埋まっているはず。
ターゲット・デバイスはLLVMを選択していればRL78-G2xなどを選択できる。
あとはそのままポチポチ押して作成。
コード作成 (サンプル:Lチカ)
↑というかここにいろいろ載ってるじゃないか
[プロジェクト名].scfgを選択すると、マイコンのいろいろな設定を触れる。
たぶんこれ以降はCubeIDEなどと似た操作感のはず。
参考に、12番ピンでLチカを実装する過程を残す。
I/Oピンの有効化
画面右側、MCU/MPUパッケージからピンを設定する。
12番、P30にLEDpinと名をつけ、P30>12を選択、ピンに色がつく。
まだこの段階ではピンの設定は完了しておらず、ホバー表示に「情報端子:この端子を初期化するコンポーネントがありません」とある。
コンポーネントを設定する。
中央下のタブからコンポーネントを選択、↑のような画面が出る。
「コンポーネント」と書かれた下のアイコンのうち、「ハードウェア」を選択。
I/Oポート>Config_PORTのPORT3にチェックを入れると、PORT3のタブが表れる。
(「コンポーネント」、ドライバ>入出力ポート>Config_PORTにも同様のタブがあった。)

P30を出力にする。
BSPの有効化
Board Support Packageを有効化する。
今回はdelayの為に必要。
同じくコンポーネントタブから、「コンポーネント」アイコンを選択。
スタートアップ>ジェネリック>r_bspを選択。
API functions disable(R_BSP_SoftwareDelay)をEnableへ。
コードを書く
scfgの設定が終わったら、scfgファイル選択時に表示されている「コードの生成」を押す。これにて先の設定を反映したコードが生成された。
[プロジェクト]>src>[プロジェクト名].cを選択。ここにコードを書いていく。

とりまこんな感じ。
#include "r_smc_entry.h"
int main(void);
int main(void)
{
R_Config_PORT_Create();
EI();
while(1)
{
// TODO: add application code here
PIN_WRITE(LEDpin) = 1;
R_BSP_SoftwareDelay(500,BSP_DELAY_MILLISECS);
PIN_WRITE(LEDpin) = 0;
R_BSP_SoftwareDelay(500,BSP_DELAY_MILLISECS);
}
return 0;
}
R_Config_PORT_Create();はコンフィグを反映するのに必要で、自分で書き加える。
EI()は最初から書かれているもので、割り込み周りの反映らしい。
whileの中は見たまま。ホバーでそれぞれの関数や変数が思ったように定義されていることを確認する。
デバッグ、実行
虫アイコンのプルダウンメニューからデバッグの構成を選択。
Debugger>Connection Settings>ターゲット・ボードとの接続>エミュレーターから電源供給を使用状況に応じて設定する。
書き込み器(エミュレータと呼ばれている?)も使うものに合わせて設定する(デフォ:Autoではある)。
これが「はい」のまま電源供給をしていると、「致命的エラー:エミュレータ電源が選択されましたが、外部電源が供給されています。」と出る。
逆に、「いいえ」で電源供給していない場合も、「致命的エラー:ターゲットの電源がOFFです。」と出る。

「デバッグ」を押せばデバッグが開始。「再開」や「ステップオーバー」などで実行する。
右側の「I/OResistors」を選択すれば、I/Oレジスタの様子が確認できる。
今回のP30はP3に属し、下位1bitがP30となっているため、「ステップオーバー」で一行ずつ実行すれば0x00と0x01を交互に変化する様子が見られる。
「再開」を押せば、変更されるP3がハイライトされ、連続的に実行される。配線すれば実際にLチカが確認できる。
未
2026.4.23時点
・書き込み器と切り離して単独で動かす方法が分からない。
・デバッグではなく通常の実行モードは?
・シリアルモニタの設定は?
・各コミュニケーションのつかいかた
・ライブラリの導入(あるのか??)






