数回に分けて、RL78/G10テンプレート開発の経緯を、「初心者向け」に示します。あえて初心者向けとしたのは、テンプレートを開発・販売してきて、初心者~中級者向けに作ったテンプレート付属資料が、初心者の方には、多少解りにくい箇所があったことの反省に基づいています。
1回目は、RL78/G10とCC-RLコンパイラのC言語ソフト開発で、CS+ for CC設定とユーザ処理を何も追加していない時のソースコード、QB-R5F10Y16-TBボード動作を示します。
テンプレートご購入者様は、ブログを参照済みですから、この初心者内容をご理解頂いた上で、付属資料をご覧になれば、解りにくさが解消されると思います。最終回後には、RL78/G10が加わったRL78/G1xテンプレートを発売しますので、ご検討いただければ幸いです。
中級以上の方々にとってもお役立てばうれしいのですが、蛇足になる可能性が大です…_| ̄|〇。
RL78/G10特徴
RL78/G10は、ルネサススタープロダクトで入手性も良く、低価格高性能な汎用マイコンです。小ROM/RAMで10/16ピン構成、ADCやUARTなど内蔵回路も少ないので把握し易いでしょう。評価ボードも安く、RL78マイコンに興味がある方やIoTセンサマイコンなどに適しています。
開発環境CS+ for CC設定
RL78/G10をCS+のCC-RLコンパイラを使い、QB-R5F10Y16-TBボードとE1使用時のCS+設定を示します。
この組合せが、最も標準的な開発環境です。
- CS+ for CCのスタート(S)を押して、新規R5F10Y(10pin)プロジェクトを作成し、デバッグツールからE1を選択します。最初に、E1のプロパティを矢印に設定します。
- CC-RL(ビルド・ツール)のプロパティを矢印に設定します。CC-RL V1.01.00時です。改版で変わる可能性もあります。
- コード生成の周辺機能>共通/クロックを選択し、端子割当て、クロック設定、オンチップ・デバッグ、リセット要因設定を矢印に設定します。RL78/G10の標準的な設定です。
- ウオッチドックタイマとセレクタブル・パワーオン・リセットを矢印に設定します。E1でデバッグする時の設定です。
- 使用QB-R5F10Y16-TBボードに合わせてポート機能を矢印に設定します。
ここまでの設定後、「コード生成する」をクリック → ビルド:F7 → ボードダウンロード:F6 → Run:F5してください。
何も処理を追加していませんので、QB-R5F10Y16-TBはPOWER LED(赤)のみが点灯し、ソースコードの無限ループが実行され続けます。
マイコンソフト開発とは、この無限ループに必要な処理を追記することです。ユーザ処理を何も追加していない開発環境を動かすだけで多くの設定が必要なことが判ります。
マイコンテンプレートの利点
マイコンソフト開発には、2つの要素が必要です。1つが、ソフトそのものの開発能力。もう1つが、開発環境IDE:Integrated Development Environmentの設定能力です(RL78/G10の場合は、上記CS+ for CC)。
ソフト開発能力は、アプリ構成や処理手順などを開発するもので、マイコン機種の依存性はありません。一方、開発環境は、マイコン機種やコンパイラ、デバッグツールなどにより様々に異なります。
初心者やマイコン機種変更時に手間取るのは、むしろこの開発環境設定の方です。ソフト開発に早く着手したい時に設定に手間取ると、せっかくのアイデアやひらめきも、スタートでつまずいてしまいます。
環境設定は、デフォルト設定で動くか、またはダイアログなどを使って簡単に設定、できれば自動的に整うのが理想です。しかし現状のIDEは、多くのプロパティ=パラメタで全ての設定に対応する方式のため、簡易ダイアログは使えず、結果、パラメタ設定を1つでも間違うと不具合が生じます。
マイコン理解が深まると、環境設定も自然にできるようになります。これは、卵と鶏の関係と同じです。どちらも必要ですが、理解に手間取って開発が遅れるよりは、早く成果物ソフトを得たいと思うのは当然です。
CS+ for CC設定の多くは決まり文句ですが、マニュアルをリードして初心者がこれを一発で設定できるかは疑問です。多くの場合は、つまずいてしまうでしょう。
サンプルソフトを使うと、最初のつまずきが多少解消されますが、複数の処理を組合せる実務ソフトには、サンプルソフトはそのままでは使えません。これが、第2のつまずきの原因です。
マイコンテンプレートは、これらの対策に、開発環境設定のパラメタが済みで、複数処理が並列実行できる実務ソフトの骨組を提供します。この骨組に、サンプルソフト流用や自作ソフトを肉付けすれば、成果物が出来上がります。テンプレートには、複数の肉付けを簡単に追加できる工夫が初めから備わっています。従って、つまずくことなく、ソフトそのものの開発に労力を割くことができる、これがテンプレートの利点です。
* * *
誤解を恐れずに言うと、「ソフト開発に必要な理解項目 ≦ 開発環境のパラメタ設定に必要な理解項目」、です。ソフト開発をしていけば、自然に理解項目が増えていきますが、最初は少ないでしょう。
ボードも含めた開発環境があるのなら、ボードを使ってデバッグしながら徐々に理解項目を増やせば良いのです。ところが、開発環境を初めて動かすのに結構な理解項目が必要なこと、これが、マイコン開発の敷居を高くしている原因です。
ソフトの開発能力と、開発環境の設定能力は、(多少は関係しますが)別です。開発環境は、慣れの問題です。EclipseベースIDEは、この問題を解決する1方法です。弊社マイコンテンプレートは、RL78/G1x以外にも3種のマイコン対応テンプレートを提供中です。ご検討ください。