RL78の長所|開発環境などが日本語|マイコン入門

当サイトにはアフィリエイト広告が表示されます。

※2021/11にアップした記事を加筆・訂正したものです。

RL78で感じたことなどメモ。
数年前からポツポツとRL78を使う仕事が出てきたので、まとめた記事をこちらにアップしました・・・さすがにこの頃はもうH8やSHの仕事は無い(^^;

RL78の開発環境はCS+と言う名前の統合環境=IDEで、自動コード生成を内蔵しており、初期化処理などはこの自動コード生成を使うことで、(慣れれば)試運転まで行けます・・・とは言ってもmbedの方がはるかに簡単なのは間違いない。
RL78(と言うか開発環境)の方が優れている部分は

1:開発ツールCS+、CPUマニュアル、ネット情報が日本語

これはでかい。
新しいCPUって、ただでさえ分からないのに、開発ツールやCPUのマニュアルが英語だと更に難解度増幅で、目が泳いじゃいます。
英語の文章って、単語一つ一つをしっかり読まないと理解出来ないじゃないですか。
日本語だと漢字の並びをざざ~っと読み飛ばして、必要な部分に直ぐ目が行く感じがする。ですよね?
マニュアルって千ページも有るのがざらなんで、日本語ってのはやっぱりでかいです。
ネット情報も日本語なら流し読みできるし。

2:コードを追いやすい

自動コード生成が作り出すコードが分かりやすいです。
んまぁCPUマニュアルを読まないとならないのは確かだけど、それでもかなり分かりやすい。
CPUマニュアルを読むと言っても、CS+内で知りたい項目の上にカーソルを移動すれば目的のページが表示されるので手間はかからない(これもかなり便利です)。
CS+内蔵のスマートマニュアル

しかも言語がC(C++じゃない)なので、クラスの中を追いかけたり、コンストラクタを調べたりする必要も無く、デバッガで単純にステップ実行すれば済むというのもでかいです(mbedだとOSのソースを入れておかないと追いかけられないし、結構書き方が難しいので理解しにくい場合が有る)。

3:CPUの動作を完全に自分の管理下に置ける

OSナシで生のコードで動作するのが好きだ。
CPUの動作全部を完璧に自分の管理下に置けるってでかいですよね?
特に組み込み系でアセンブラから来てたりすると、この価値のでかさは納得と思います。
デバッガとオシロがあれば、CPUを手なずけることが可能ってのは、これはかなりのアドバンテージです。

省電力で動作させたい?行けるじゃ~ん。
多重割込みでレジスタバンクを器用に使い分けたい?行けるじゃ~ん。
CPUを起こさずにデータ取得をしたい?簡単じゃ~ん。

ただしmbedとは異なりCPUマニュアルを読む必要が有るんです。
単純なAD入力を一つ使うのでも、CPUマニュアルを読み込まないと絶対に使えません。
しかもコード生成されたコードをコールする必要も有る。

main()で最初に初期化関数をコールし、割込みを許可し、AD完了割込み関数(何処にあるのか探さないとだし)に必要なコードを追加し、main()に値を渡す処理を追加し・・・と言うような手順が必要。
しかも好きな場所にコードを書いたりしたら、コードの再生成時には消えちゃうとかあるんで、CS+の使い方も事前に知っておかないと。

組み込み系のプログラミングに慣れてりゃ当たり前の事だけど、一般人がArduinoやmbedのつもりで手出ししたら、ちっとも動かないのは当然と思います。

mbedなら『AnalogIn xxx』の一行で済むことも、RL78では通用しないってんだから困った。
ADとはなんぞや?そのADを動かす仕組みとは?ADから値を取得するコードの書き方は?コード生成はどんなコードを吐き出すか?
この辺を全部理解しないとAD一つ動かないけど、日本語だもんね!OSナシだもんね!

自分の場合は、8割程度はmbedで、残りの2割がRL78って雰囲気かもです。
mbedで済むならmbedで、やばそうならRL78でって感じです(さすがにもうSHは出番が無い)。

<ついでに要望>
CだけじゃなくてC++でも書けるようにならないかな?
mbedのコードを流用する場合、分解してCに置き換えてるけど、C++で書ければmbedのコードを移植しやすいんで助かります。

スポンサーリンク
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


興味があるところを読む