Top > RL78
Last-modified: Sun, 05 May 2013 13:29:10 JST

RL78

ルネサスのマイコン、RL78シリーズについてのメモを記載。兄弟ページのRXもよろしくね。

細かい応用については半分が会社の情報になってしまうので書けないけれど、マニュアルを補完するような内容はいつもお世話になってるネットに還元する形で書いていきたい。

ルネサスが危機的な状況で、RL78もどうなるかわかりません。新しいマイコンを使う恐怖はありましたが、廃止になる方が嫌なので、R8/H8を新規採用するよりは少しはまともな選択だったと思っています。

RX220グループの詳細価格がまだ見えてきませんが(2013年5月時点)、コスト差が小さければRL78はもう採用しないかもしれません。せっかく詳しくなったところなんだけどな。


「てきーらサンドムさん」のページが秀逸です。しょっちゅう読ませてもらっています。
http://www2u.biglobe.ne.jp/~tequila/electro_k0r1.html
このページもこれくらい有益になるといいな。

タイマアレイユニット

略してTAU。

基本は16bitタイマなのだが、チャンネルによっては、8bitタイマX2として利用することができる。しかし、その割り込みがシリアル通信ユニットの割り込みとかぶっているため、シリアル通信を使う場合は16bitとして使うしかない状況あり(64pinのG14)。

インターバルタイマに設定して使う場合は、シミュレータで動いてくれるので、システムの構築初期に重宝する。

ワンショットタイマ(マニュアルにその呼び名は無いが、ディレイカウンタをソフトでスタートする)はシミュレータでは動いてくれない。シミュレータではソフトでスタートしてくれないため。

フラッシュ

ハードウェアマニュアルには、フラッシュを制御する方法がほとんど記載されておらず、用意されたライブラリを使用することになっている。

しかし、2012年10月現在、書き込みのライブラリはルネサスのページでは公開されていない。代理店に頼んで入手する。趣味の個人はどうやって手に入れるのだろう?

セルフプログラミング

シミュレータでは動いてくれない。FSL_Init()が0x05(FLS_ERR_PARMETER)を返してくる。

セルフプログラミングライブラリの使用上の留意点に記載があるように、RAM先頭の1034バイトのセルフRAMが必要な他(不要な製品もある。何故??)、スタックとデータバッファにRAMを使用する。

このスタックとデータバッファは、ショートダイレクトアドレッシング領域の192バイト(どの製品も0xFFE20~0xFFEDF)以外のRAMと記載がある。また、RL78/G13のハードウェアマニュアルのメモリマップの注記には、セルフプログラミング時は0xFFE20~0xFFEDFはライブラリで使用するため使用禁止とある。しかし、RL78/G14のメモリマップにはセルフRAMの記載のみで、192バイト分の記載が無い。

表記に曖昧さがあるが、ここを普通にRAMとして使うとライブラリ関数が失敗するので(ステップ実行が効かなかったり暴走気味)、結局は使用禁止なのではないかと思われる。RL78/G14でも同じ結果になる。

コンパイラ

てきーらサンドムさんのページにも書かれてますが、純正コンパイラCA78K0Rのデフォルトは「char型演算を符号拡張しない」です。

私がよくハマるのは、シリアル通信で受信したデータから2バイト変数を復元するときに、data[0] + (data[1] << 8) としても、data[1] << 8 がゼロになってしまうものです。どうしたもんかなー。


スタック領域は、シンボルファイルの生成を指定すると、「プロジェクト名.sym」というファイルが生成されて、その中で @STBEG と @STEND というシンボル名で確認できる(リンクオプションの「スタック解決用シンボルを生成する」が「はい」でないとダメ?標準のスタートアップを使うと「はい」になるみたいだが)。


2013/03/31

容量の大きいRL78が手に入ったので、ちょっと設定を触っていた。リンクディレクティブファイルで、

MEMORY ROM : (0x000000H, 0x040000H)

と書くとエラーが出て受け付けてくれなかった(メッセージは、RA78K0R error E3116: Memory area 'ROM' definition out of range)。

ちょっと悩んでいたら、0x0x10000Hまでならエラーにならない。そうか、無償版だから64kBバイトまでの制限ってことね。すっかり忘れたよー。。。もうちょっと解りやすいエラーにしてもらいたかtった。



コメント

適当に書いて頂いて構いません。スパム対策があるので、書き込めない場合があります。また、ボタンを押した後にしばらく時間がかかります。

新規コメント(ラジオボタンで親コメント選択可)
お名前

現在、コメントはありません