RL78L12 デモボード

チョコです。

RL78/L12のデモボード(YRPBRL78L12)を入手したので、ちょっといじってみました。

プログラムは以下のURLからダウンロードして、インストールしました。

http://japan.renesas.com/support/downloads/download_results/C1000000-C9999999/other/yrpbrl78l12_gui.jsp


デモプログラム(GUI)は比較的簡単に動作させることができました。何かいじってみようと
しましたが、情報がありませんでした。そこで、ヨーロッパのサイトを覗きましたが、e2studio
関係だけしかないようでした。

そこで、このボードを日頃使い慣れたCS+の環境で使えるようにしてみました。

接続は簡単で、デモボードのUSBコネクタを使って接続し、SW4とSW5をOCD側に切り替え、
CS+の"使用するデバッグ・ツール"を"RL78 EZ Emulator"にするだけです。
これで、接続は完了です。
次に動作させるプログラムが必要になりますが、幸いにして、RL78/L12のサンプルプログラム
の「RL78/L12 LCD 表示(時計編) CC-RL」が同じLCDパネルを使っていたので、これを流用
することにします。
同じLCDパネルを使っても接続が異なるので、そこを変更します。r_main.cとr_cg_userdefine.h
で以下の書き換えを行います。(コード生成も変更しています。)

SEG21 → SEG19
SEG22 → SEG20
SEG23 → SEG21
SEG24 → SEG22
SEG25 → SEG23
SEG26 → SEG24
SEG27 → SEG25
SEG28 → SEG26
SEG31 → SEG27

これ以外にも、ポートも変更します。(修正結果はプロジェクトを参照してください。)
P14  → P32 (UP)
P142 → P31 (DOWN)

これで、サンプルプログラムがデモボードで動作します。
このような変更したプロジェクトを添付しておきます。

GUIのデモプログラムに比べると寂しいですが、CS+の環境に移植したので、あとは自由に
手を加えてください。

 

CS+.zip
  • チョコです。

    コード生成結果が気になるところを思い出したので、コード生成結果を少しいじりました。

    問題の箇所は、r_cg_cgc.cのサブシステムクロック(32.768kHz)の発振安定待ち部分です。

    16ビットの変数w_countで160回ループしているのですが、これでは全く時間が足りません。

    CC-RLで出力されたオブジェクトをシミュレータで逆アセンブルして表示すると1回のループで

    10クロック程度しかかかりません。これを160回ループしても80μsにもならないので、発振

    安定待ちとは言えません。16ビット変数では65536回ループしても30ms程度です。。

    そこで、"    volatile uint32_t w_count;"と32ビットに変更しました。これで、1ループも

    倍くらいになります。これで、1,000,000回もループさせれば1秒程度にはなります。これなら

    発振安定時間としては大丈夫でしょう。(この部分はコード生成する度に書き戻されるので、

    ループ回数は即値で指定し、r_cg_cgc.cだけを変更するのが楽でしょう。)

    コード生成の担当には以前からクレームをつけていたのですが、いまだにおかしいままです。

    夏頃の次のバージョンを期待しましょう。 → 鈴木さんよろしくお願いします。