RL78を始める~ gcc の構築から~

R8C/M120 は確かにコスパが高く、パッケージも手頃で、良いのだけど、RAM容量が少なく、もう少しだけリッチなマイコンが欲しいと思っていたのだった・・・
※メモリーはせめて2Kバイトくらいは欲しい、128×64のビットマップLCDとかを扱う場合、フレームメモリーで1Kバイト消費するし、SDカードでファイルを扱う場合も、バッファ
がある程度必要だし・・

現在の自分の環境では、R8C の上位は、いきなり RX になってしまう、まぁそれはそれで良いのかもしれないけど、RX では高機能過ぎるし、デバイスが少しコスト高なので、AVR 328 くらいのデバイスも扱えれば良いなぁーって思っていた。

R8C/M120 の上位を使えば、もう少し話は早いけど、R8C 系は、既に古いデバイスで、上位のデバイスは割安感が無い、そこで、やはりと言うか、RL78 に落ち着く訳だけど、値段、デバイスの種類、機能など、バランスが良い事に改めて気づく。
ただ、自作で使っている人は少ないのか、製作記時は少ないようだ・・
※パッケージが基本、フラットパッケージのみなので敬遠されているのかもしれない。

何故、ARM を選択しないのかと思うかもしれないが、日本人だからルネサスを使うだけの事で、少し意地になっているかもしれないけど、ルネサスのラインナップは豊富だし、入手性も良く、値段もこなれていて安定している、マニュアルも日本語なので、開発のハードルは低いと感じている。
逆に、「日本人」なのに、何故海外製のマイコンに走るのか、聞いてみたい。
※ AVR は随分使ったけど、マイクロチップに買収されてしまったしなぁ・・

RL78 のラインナップは凄まじく多くて、どれを使うか非常に迷うけど、入手性と値段で、「G13」グループをとりあえず選択してみた。
「秋月電子」で安く購入出来る。

プログラムフラッシュ/RAM/データフラッシュ
・R5F100LCAFB:  32K/ 2K/4K @250円
・R5F100LEAFB:  64K/ 4K/4K @290円
・R5F100LGAFB: 128K/12K/8K @340円
・R5F100LJAFB: 256K/20K/8K @400円
・R5F100LGAFB搭載変換モジュール     @420円

早速、290円、340円を数個購入してみた、後で気がついたけど、340円のデバイスが、変換基板にハンダ付けされたタイプが420円で売られていた、これは安い!
※0.5mmピッチのハンダ付けはコツがいるので、自信の無い人は、モジュールを選べば良いだろう~
IMG_0795s
※変換基板にピンを立てて、ソケット化すると、交換が出来て便利ではあるけど、ソケットのコストが痛いので、このような安いデバイスは、直で、ユニバーサル基板に乗せている。

まず gcc を構築してみた、以前に R8C、RX で行った方法がそのまま使える。
※ gcc-4.9.3 を使った。
詳しい方法は、以下のリンクを参照して欲しい。
My GitHub RL78

次に、フラッシュプログラミング環境を整える。
最初、シリアルポートで簡単に接続出来ると思ったのだが、ドキュメントを読むと、多少の付加回路が必要な事が判った。
RL78 には、プログラミング時の専用端子「TOOL0」があり、「/RESET」のタイミングで、通信を行う事で、プログラミングモードに移行する。
※通常動作では、抵抗を介してプルダウンしておく。

・「ルネサスの参考回路」
リンクの参考回路(タイプB)では、トライステートバッファ(オープンドレインゲートとして利用)と、インバーターを使っている、少し考えて、トライステートをダイオードで置き換え、
インバーターをNチャネルのFETで置き換え、簡易回路を作成してみた。
RL78_FlashProgrammer
※自分が使った部品は、3.3V~5Vの環境に対応している、電圧降下が少ないショットキーダイオードを使ったが、リークの少ない物を使用している。
※/RESET のプルアップ抵抗は、デバイスに直接取り付けてあるので、省く。

※同じような変換回路を既に製作していた~ 「簡易UART書き込み器」

RL78/G13のデバイスは電源が少なくて、配線が楽だ!
・Vss、Vdd、EVss、EVddに0.1uFのパスコンを付け電源に接続する。
・REGCは0.47~1uFのコンデンサでVssに接続する。
※1uFを選択した。

IMG_0796s

とりあえず、「ルネサスの Flash Programmer 」と接続して、認識できる事を確認出来た。
※3.3Vの電源を接続

今回はここまで・・
次は、書き込みプログラムを実装してみようと思う。(MacBook で使いたい!)