浜松市にいる組み込みおやじ-電子工作、回路設計、ファーム TIPS

このブログはビーコンの代表である菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い発見などを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
RL78とE1の接続で、CS+で設定しておくこと
0

    Renesas の RL78は NECのマイコンを先祖に持っていると言える。

    躓くことがあったのでメモする。

     

    まずは、新規プロジェクトを作ると デバッグツールが

    RL78シミュレーターになっている。

    オンチップデバッガーで動いていると勘違いすることが多くて、ポートをON/OFFのプログラムを書いても実物のポートではON/OFFしないなどとはまることがある。

    これを

    RL78シミュレータから

    E1 などのデバッグツールに変更しないといけない。。

     

    つぎに、よくあるのが、以下のようなメッセージ。

     

    [エラーの直接原因]
    オンチップ・デバッグで使用する予約領域への書き込みはできません。(address: 0x00000002)(E1203124)

     

     

     

    RL78の場合、E1を接続したときに使用するメモリをリンクの時に空けておかないといけない。

    ビルドツールのリンクで デバイス→デバッグモニタ領域を設定する。を「はい」にする。

    新しい案件でも マイコンが同じだと、以前のプロジェクトを流用したりすることも多いので、

    プロジェクトの新規作成の機会は意外と少ない。

    以前にも躓いて、今回も躓いてしまったのは情けない限りだが、やっぱり次も忘れて躓くかもしれない。

     

     

    ◆追記 2017.09.17

     

    E1 (オンチップデバッガー)を使用する場合、コード生成で オンチップデバッグ設定 オンチップデバッグ動作設定を使用する

    とすると、最適な値に自動設定されるようです。

     

     

     

     

     

     

    | ビーコン菅原 | Renesas RL78 | 02:12 | comments(0) | trackbacks(0) |
    RL78のコード生成を使って一日で移植した。
    0

      もともと私は R8C大好きだったけど、最近は R8Cは進化がなく、RL78推しがはっきりしてきた。

      で、めちゃ安いマイコンを使わないといけなかったので、いろいろと調べて、安いRL78/G10の16PINを使うこととした。

       

      余談になるけど、安いマイコンで探すと Silicon Lab のマイコンが40円ぐらいで販売されている。ROM2K RAM 256byte,ADCも付いている。今回は調べる時間が無かったので、採用しなかったけど、普通に通販で数十個のオーダーでこれだけの価格になるのはすごいことで、小規模のロットでも安く調達できるので、本気で採用を考えたい。

       

      さて、RL78/G10だがちょうど良いことに 秋月で 小さいボードを販売していたので、これをつかってバラックを作ってみた。

      http://akizukidenshi.com/catalog/g/gK-09035/

      RL78バラック

      R5F10Y47ASP

      コードフラッシュメモリ:4KB、RAM:512B

      で 16pin の内電源以外の 14pinがフルに使える。

      デバッグ用の2pin は兼用にしなければ、 12pinと言うことで、今回のプロジェクトではこのぐらいで収まりそう。

       

      で、RL78は仕事では初めて使う。また、、コード生成もあるので、せっかくなのでこれを使おうと思う。

       

      ◆コード生成について

       

      最初だけいろいろ戸惑ったところがあるけれど、順番に設定を入力していけばコード生成できる。

       

      また、コード生成が重複している端子のチェックをしていて、使いたい機能があったとして、そこで使用する端子が他の機能に使われていると、選択項目に出てこないなどしてくれる、これば便利だ。

      もっとも、一つの端子を複数の機能として使い分けをしたいと言うことには対応出来ないんだけど、本来ならばマニュアルをよく読んで、機能の割り振りをしないといけないところを、ウィザードで簡単にわかるのは良い。

       

      このマイコンは UARTとしては 1CH. いわゆる SPI機能としては 2CH使える。 最初 UARTとSPI両方使おうかなと考えていたが、コード生成で選べないので、マニュアルを調べると UART使う場合には SPIは1CHも使えないことがわかった。

      こんなことも、小ピンの安いマイコンにはよくあることだけど、たくさんコードを書いてから動かないとうんうんうなって、マニュアル調べて、出来ないとわかる・・という手間と時間を考えると、本当にありがたいことだ。

       

      PG RL78

      注意としてコード生成したファイルは必ず先頭が r_cg_xxxx となるがそのファイルは自動生成実行で上書きされてしまう。

      これらのコードを覗いてみると以下のようなコメントがある。

      /* Start user code for function. Do not edit comment generated here */
      /* End user code. Do not edit comment generated here */
      ユーザーが書いたコードはこのコメントの中にあれば残る。

       

      最初に一回だけ自動生成で、あとは自分でメンテすると言うことであれば、べつにどこに何を書いてもいいんだけど、

      後から設定を変更したいと言うことはよくあることなので、コードが消されないように注意したい。

       

      何にしろ、使った事のないマイコンでわずか一日でPICマイコンのソースから移植できたのはすごいことだ。

       

      ◆RL78とPICマイコンのコード効率の違い

       

      今回は いろいろ事情があって 最初にPIC16F887 でバラックを制作して評価した後、量産GOとなったので、小さくて安いマイコンということでRL78と言う流れになった。

      今回は 入力された波形の周波数とDUTYを算出して、それであるモジュールを動かすみたいなシステムだ。

      PICマイコンは古いこともあり、機能が非常に少なく、割り込みのチャタリング除去もハードでサポートしていないのでソフトでしないといけないとか余計な処理が入る。SPI機能も使わず、ポートパタパタでやっている。

      一方RL78はSPI機能を使い、また、タイマーのキャプチャー入力のノイズ除去なんかも優秀だし、タイマの機能も多彩なので、タイマー設定しておけば、割り込み時にレジスタを取得するだけで正しい値が出てくる。

      そう思うと RL78の方がコードが少なくてすむと考えていたが、実際にビルドしてみると PICマイコンの方がずいぶんとROMサイズが小さく収まる。


       

      MPLAB メモリ使用

      JUGEMテーマ:組み込み開発

      PIC16Fのメモリ使用

       

      RL78のMAPの抜粋

      .vect
                                        00000000  0000007f        80   0
      .const
                                        00000080  00000080         0   2

      <<中略>

      .monitor1
                                        000000ce  000000d7         a   1
      .text
                                        000000d8  00000bc4       aed   1
      .RLIB
                                        00000bc5  00000c31        6d   1

       

      PIC16F は 2430bye

      RL78G10 は 3120byte 

      PIC16Fは最適化無しで、RL78はデフォルトの最適化ありなのにこのように逆の結果となった。

       

      移植なのでほとんど同じプログラムで、PIC16の方がコードが若干多いというのに。。

      よく見てみると RL78/G10は Vecterに 128byte とられているのも痛い。

      安いマイコンだと ROMの残容量っていうのが本当に苦しいところがあるけれど、PICマイコンのコード効率の高さというのもすごいものがあることがわかった。。

       

       

       

       

      | ビーコン菅原 | Renesas RL78 | 17:18 | comments(0) | trackbacks(0) |
         1234
      567891011
      12131415161718
      19202122232425
      2627282930  
      << November 2017 >>
      + RECOMMEND
      + RECOMMEND
      + SELECTED ENTRIES
      + RECENT COMMENTS
      + RECENT TRACKBACK
      + CATEGORIES
      + ARCHIVES
      + つぶやき
      + MOBILE
      qrcode
      + LINKS
      + PROFILE