ROM/RAM=2KB/256Bまたは4KB/512BのRL78/G10
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テンプレートになりました。
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フォルダを自動生成
フォルダ構成は、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が必須条件です。