RL78/G10テンプレート開発最終回:RL78/G1xテンプレートVer5発売

QB-R5F10Y16-TBボードで動作中のTinyテンプレート

ROM/RAM=2KB/256Bまたは4KB/512BのRL78/G10

売れ筋RL78/G10マイコン2種
売れ筋RL78/G10マイコン2種

2015年6月現在、入手性が良く低価格なRL78/G10マイコン、2品種を示します。

RL78/G13やRL78/G14と比較すると、ROM/RAMがかなり小さくIOピン数も少ないことが判ります。データフラッシュはありません。10ピンのR5F10Y16(最初の写真)は、2015年6月現在、Star Productです。

そこで、S2/S3コア用RL78/G13やG14のRL78/G1xテンプレートを、S1コアRL78/G10向けに改良し、21%小さいサイズのTinyテンプレートを開発、S2/S3コア版テンプレートにS1コアもカバーするRL78/G1xテンプレートVer5として発売します。テンプレートは、全てC言語です。

Tinyテンプレート

ROM/RAMが小さいRL78/G10では、テンプレート自身もサイズが小さい方が適します。
S2/S3コアのテンプレート機能から、重複機能を削除したS1コア向けのTinyテンプレート概要を示します。ROM/RAM数値は、テンプレートのみのサイズです。ROMは、PROGRAM SECTIONのサイズ(Tips参照)です。

テンプレート実装機能 S2/S3コア向けテンプレート
ROM/RAM
使用量=439/8バイト
S1コア向けTinyテンプレート
ROM/RAM
使用量=345/6バイト
周辺機能のStartAPI起動 実装 実装
ドライバ関数起動 実装 実装
アプリ関数起動 実装 削除
HALT起動 実装 実装
メイン暴走監視 実装 削除
周期割込み暴走監視 実装 削除
WDTリセット 実装 実装
マニュアルリセット 実装 実装

 

Tinyテンプレートは、アプリ/ドライバを区別せず全てドライバ関数起動で起動し、アプリ関数起動は削除しました。また、アプリ暴走監視や周期割込み暴走監視も、WDT満了でカバーできるので削除しました。

このTinyテンプレートは、S1コア専用ではなく、従来テンプレートの代わりにS2/S3コアのRL78/G13やG14へ使うことも可能です。むしろ実装機能を整理した結果、より解り易いテンプレートになりました。このTinyテンプレートCソースを読んだ後に従来テンプレートCソースを読むと、テンプレート理解が容易になります。

RL78-S1/S2/S3全コア対応RL78/G1xテンプレートVer5発売

RL78/G1xテンプレートにこのTinyテンプレートを追加し、RL78/G1xテンプレートVer5として発売します。ご購入方法は、コチラをご覧ください。Ver5は、RL78-S1/S2/S3コア全てに対応したRL78/G1xテンプレートになりました。

QB-R5F10Y16-TBボードで動作中のTinyテンプレート(1秒毎にLED点滅、SW1押下げでトグル動作)
QB-R5F10Y16-TBボードで動作中のTinyテンプレート(1秒毎にLED点滅、SW1押下げでトグル動作)

RL78/G1xテンプレートご購入者様で、無償Ver. UP権をお持ちの方へは、本日より10日以内にVer5をメール発送いたします。メール発送まで、しばらくお待ちください。

 * * *

RL78/G10 Tips

RL78マイコンで唯一のS1コア:RL78/G10は、S2/S3コアのRL78/G13やG14と異なり8ビットマイコンです。ルネサスは、コア差をあまり強調しませんが、いくつかの差が生じますのでこれに関するTipsを示します。

S1コア用スタートアップ

S1コアのスタートアップは、RAM全体を区別せずに全て0で初期化します(ハードウエアマニュアル8.2.9)。

RL78/G10のCS+ for CCは、cg_srcフォルダを自動生成

CS+の生成ファイル
CS+の生成ファイル

フォルダ構成は、RL78/G10時のみ他のRL78/G13やG14と異なります。

セクションサイズ

前回ブログのCC-RLリンクオプションプロパティで設定したセクション合計サイズ出力と、ROM/RAMの関係を示します。

  • RAMDATA SECTION:16進数 Byte(s)…RAM使用量
  • ROMDATA SECTION:16進数 Byte(s)…ベクタテーブルなどのROM使用量(固定配置)
  • PROGRAM SECTION:16進数 Byte(s)…作成プログラムのROM使用量(コード生成分含む)

ROMDATA SECTIONは、0hからCEh番地にデバッグ・モニタ領域10バイトを加えた、0hからD7h番地の範囲に固定配置されます。プログラムで使えるROMは、この固定領域216バイトを引いた残り分です。

従って、RAMDATA  SECTION ≦ 0x100/200 (256/512)Byte、 PROGRAM SECTION ≦ 0x728/F28 (1832/3880) Byteが必須条件です。