色々な事情によりRL78に手を出すことにしました。
RL78の開発はE1エミュレータを使うことが前提となっております。
CPU自体は安いのですが、開発環境は趣味で手を出そうと思うと少々高価です。
ですが、簡単な回路でシリアル書込みする方法もあります。
※2020/02/29 RL78/G10シリーズの注意事項訂正、コード生成の注意事項追加関連記事
・
RL78へE1で書込み・
RL78へシリアル書込み・
3.3V書込み機材をそろえる
必要なのは
・CPUボード
・書込み冶具
・プログラム開発環境
です。
CPUボード
秋月で10ピンと16ピンのCPUボードが販売されております。
秋月
・
RL78/G10 10ピン R5F10Y16ASP・
RL78/G10 16ピン R5F10Y47ASP非常に安くて小物を作るときには便利なのですがデバッグ用LED等がついておらず、
マイコン初心者が手を出すには少々難易度が高いと思います。
そこで便利なのがビーリバーエレクトロニクス様の
RL78マイコンボードです。
今回はこの中から
・小さい
RL78/G13 20ピン R5F1006AASP・中ぐらい
RL78/I1A 38ピン R5F107DE・大きい
RL78/G13 100ピン R5F101PFAFBの3種類を購入しました。
取扱い資料やサンプルプログラムが付いてくる
開発セットも販売されています。
※E1等書込みユニットは別途必要開発セットの添付資料には
CS+for CAの使い方も記載されている様です。
マイコン自体が初めての方はビーリバー様の開発セットの購入をオススメします。
書込み冶具
予算がある人や今後ルネサス系マイコンの開発を続ける人は
・E1エミュレータ(
秋月/
ビーリバー)
※生産終了品・
E2 Lite・
E2エミュレータの何れかを購入しましょう。
※2020/02/25 追記
秋月の小型CPUボード(RL78/G10)はCPUのスペック上、5Vを供給しないと書込めません。
※2020/02/29 訂正秋月の小型CPUボード(RL78/G10)はCPUのスペック上、3.3Vでは一部機能が制限されます。3.3Vで書込みは可能ですが、消去ができません。3.3V書込みの制限事項に関する調査結果は
こちらE2 Liteには5V供給機能がありません。秋月のCPUボードとE2 Liteを組み合わせる場合は外部から5V供給が必要です。高くて買えねぇとかRL78をちょっとだけ試したい人は
シリアル書込みの回を参照してください。
秋月のCPUボードを使用する場合はそのままでは接続できないので
・
ブレッドボード・
オス-オス ジャンパ線が別途必要です。
プログラム開発環境
プログラム開発にはRX230(RX220)の開発環境で紹介したCS+を使用します。
CS+には
・CS+ for CC
・CS+ for CA,CX
があります。
主な違いは対応しているCPUのシリーズの違いだと思います。
既にRXを導入しているのでCCを基準にして話を進めます。
ルネサス 評価版ソフトウェアツールの
統合開発環境 CS+ for CC (RL78, RX, RH850用)
評価版ダウンロード
からリンクをたどっていき
【無償評価版】統合開発環境 CS+ for CC V8.03.00 (一括ダウンロード版)からダウンロードします。(2020/02/23時点)
ダウンロードにはユーザー登録(無料)が必要です。
PC環境のセットアップ
基本的にRX230と同様です。
CS+V8.03をインストールしたらRFP V3.06が一緒にインストールされます。
インストーラーを実行すると展開後にこんな画面が出ます。
※インストール時の注意CS+ for CC V8.03.00には.Net4.5.2(以上)が必要となります。(ランゲージパックも)
Win10なら4.6が標準インストールされているはずなので特に気ならないと思います。
Win7等.Net4.5.2が入っていない場合はCS+のインストールを実行すると.Netのインストールが始まります。
.Netインストール後にPCを再起動して、インストーラーをもう一度起動するとCS+のインストールが始まります。
オフラインインストールしたい場合は.Netを先に準備しておいてください。
あとは素直に進んでいけば大丈夫だと思います。
インストール中にこんな感じでダイアログが5回ほど出ました。
インストールしてください。
インストール完了
オフライン時はアップデートしません。
スタートアップにRapid Start CS+ for CC なるものが登録されます。
要らない人はスタートアップから除外してください。
インストールが終わったらPCを再起動しておきましょう。
CS+を使ってみる
CS+を使います。
とりあえず起動。
ワンポイントアドバイスなるものが出ます。
要らない人は切ってください。
ログイン画面が出ます。
オフライン開発するつもりなので、閉じちゃいます。
プロジェクトの作成
ファイル > 新規作成 >新しいプロジェクトを作成
RLを選択して
CPUの型式を入力
入力する型式は
・秋月 10ピン R5F10Y16
・秋月 16ピン R5F10Y47
・ビリーバー 20ピン R5F1006A
・ビリーバー 38ピン R5F107DE
・ビリーバー 100ピン R5F101PF
場所と名前を決めてプロジェクト作成
プログラムの編集
ここからは
CS+ for CCを前提とした手順を説明します。
CS+ for CA,CXでは若干手順が違います。
※ビーリバー様の説明資料は
CS+ for CAをベースにしている様です。
CS+ for CCの場合プロジェクト作成時に自動生成されたmain.cを編集することもできますが、
あとでちょっとめんどくさい事になるので
コード生成機能を使います。
※コード生成機能を使うとmain.cがビルドから除外されます。要注意。CS+ for CA,CXではそもそも
iodefine.hや
main.cが
自動生成されません。
コード生成の準備
割込み等に伴うレジストリ設定プログラム(コード)を自動で生成してくれます。
コード生成のクロック発生回路をダブルクリックします。
端子割り当て設定
はじめに必ず設定してください。また、この設定は1度行うと変更できません。と恐ろしいコメントが出てきます。
初回でとりあえず試してみるのに端子の細かい割り当てなんて考えてません。
とりあえずそのまま確定でOKです。
※
端子設定の詳細は
コード生成準備を参照
変更が必要になったら再度プロジェクトを新規作成してください。
※CPUの種類によっては端子割り当て設定が出てこないものもあります。
秋月のRL78ボード(RL78/G13)の場合は項目の場所が若干違い、コード生成直下ではなく
周辺機能の中に該当項目があります。
コード生成
続いてデバッグ用LEDを点滅させるために各端子の入出力設定を行います。
LEDが接続されているのは
・ビリーバー 1006⇒ P30⇒ ポート3のビット0
・ビリーバー 107⇒ P05⇒ ポート0のビット5
・ビリーバー 101⇒ P145⇒ ポート14のビット5
です。
ポートをダブルクリックします。
例としてP05を出力に設定します。
ポート0のタブ
↓
P05の出力にチェック
↓
コード生成をクリック
これでコードが生成されました。
と当時にmain.cが消えました。
ファイル自体はプロジェクトのフォルダに残っていますが、ビルドから除外されます。
メインプログラムを記述するファイルが
main.c↓
r_main.cへ変更されます。
※2020/02/29 G10のコード生成に関する注意事項RL78/G10シリーズでコード生成を行うと
パワーオンリセット(電圧低下による自動リセット機能)が4.2Vに変更されます。で、このプログラムを書き込むと
書込みを含めて3.3Vでは何もできなくなります。
対策
セレクタブル・パワーオン・リセット回路
リセット発生電圧 > 2.84V等に変更 ⇒ コードを生成
プログラムの編集
ではプログラムを編集します。
r_main.cを開いて65行目付近を編集します。
プログラムは
/* Start user code. Do not edit comment generated here */から
/* End user code. Do not edit comment generated here */の間に記述します。
これ以外の場所に記述した場合、コード生成を実行すると例え何も設定変更を指定なくても
統合開発環境が上書きで消してしまいます。
main関数以外にもプログラムを記述可能な個所がありますが、消されたくなかったら
/* Start user code xxxxxxxxxxxxx */から
/* End user code xxxxxxxxxxxxx */の間に記述してください。
また、このコメントは編集しないでください。
多分コード生成時に色々おかしくなります。LEDを点滅させるための簡単なプログラムを記述します。
<設定ビーリバー107 かつ CS+forCCの場合>
void main(
void)
{
R_MAIN_UserInit();
/* Start user code. Do not edit comment generated here */ PM0_bit.no5=0; while (1U)
{
long i; for(i=0;i<400000;i++); P0_bit.no5=1; for(i=0;i<400000;i++); P0_bit.no5=0; }
/* End user code. Do not edit comment generated here */}
<解説>
デバッグ用LEDを点滅させます
ビリーバー 107ボードでLEDが接続されているP05を制御します。
初期状態ではすべての端子が入力に設定されています。
そこで、まずデバッグ用LEDが接続された端子を出力に設定します。
入出力の設定はPM**で変更します。
ポートをまるごと変更する場合は
PM0=0;の様に記述します。
端子を個別に設定する場合は
CS+forCCだと
PM0_bit.no5=0;CS+forCAだと
PM0.5=0;となぜか記述が異なります。
同様に出力ポートのON-OFF設定も
CS+forCCだと
P0_bit.no5=0;CS+forCAだと
P0.5=0;となります。
ビルドメニューからビルド・プロジェクトまたはF7でビルドを実行します。
エラーが出なければ成功。
・
RL78へE1で書込み・
RL78へシリアル書込み