忍者ブログ

Fグループ電子工作講座

秋月電子SH7125ボードで始めるマイコン開発

RL78の開発環境

色々な事情により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.hmain.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へシリアル書込み
PR

コメント

プロフィール

HN:
ぼんどF博士
性別:
男性

最新コメント