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

このブログはビーコンの代表である菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い発見などを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
RX220 e2データフラッシュ専用関数
0

    RXシリーズは内部にフラッシュROMを搭載している。 主にプログラムを格納するための ROMと パラメータなどを格納するための E2データフラッシュの二種類がある。

     

    RX220

     

    今回E2データフラッシュに変数を格納する必要があったために、E2データフラッシュ専用の書き込み関数を開発した。

    ルネサスでは 世界に先駆けてFlashROM内蔵マイコンを開発したわけだが、SHやH8のタイプともR8Cに搭載されているタイプともちがいRxに搭載されているタイプのためにFlashROMアクセスのプログラムを書かないといけない。

    個人的には R8Cに入っていたのがとても良かったのに、RXでは変わってしまったのは残念。


     

    ルネサスにいけば何かあるかなと確認したが、「フル装備」のものすごい階層構造になったサンプルプロジェクトが一つあるのみだった。

    こちらとしては E2データフラッシュの書き込み、イレースができればいいのに、ROMの書き込みもサポートされているし、パラメータのチェックやエラー処理も完璧だ。ですべてのマイコンに対応できるように #ifdef のオンパレード、ソースファイルは難解であると。。で、ちょっとソースファイルをいただいて、移植するというわけにはいかず、エラー情報の泥沼に入ってしまった。

    このあたりは MSP430のサンプルプログラムなんかが、私は良いと思う。

     

    しかたがないので、自分で開発することとしました。


    RX220用E2データフラッシュアクセス関数 ←こちらにのページにソースファイルのリンクがあります。

     

    ・RX220(R5F52206BDFL) 内部クロック32MHzで動作確認。
    ・そのほかのRXシリーズでそのまま使えるでしょう。あるいは、周波数の書き換え程度手を加えたらOKだと思います。
    ・E2データフラッシュ専用

    ・必要最小限の機能。小さくてシンプル

    ・パラメータチェックはしていません。

    ・こまかいエラー処理、エラーの通知はしません。
    ・E2データフラッシュ専用なので、RAM実行はしなくてもよい。→セクションとか考えなくてOK

    ・ソースファイルの使用については自己責任でお願いします。

    ・E2Flash.c は最適化なしでコンパイルしてください。コールする側は最適化の指定はありません。(2016.11.29追記)

    ・ご質問とかバグ報告はビーコンのホームページお問い合わせのフォームからお願いします。

     

     

    このページのメッセージ欄からお願いします。

     

    多くの開発では ROMを自身のプログラムで書き換えるという用途は少なく、E2データを読み書きできればよいという場合が大多数ではないかと思う。ROMの書き換えの場合には RAM上でプログラムを実行しないといけない。でもE2データのみであればROM上でも大丈夫です。

     

    RXのFlashROMの特徴的なことは、ブランクの時には値が未定で、指定されたBlank確認処理をしないと、ブランク状態かどうかわからない。普通のFlashROMではプランク状態では 0xFFFF (全ビットが立っている)というのが一般的であり、これは初めてみたタイプ。

     

    今回の開発にあたり、ルネサスエレクトロニクス アプリケーションノートおよびサンプルプロジェクト R01AN2184EU0163 を参考にさせていただきました。

     

    JUGEMテーマ:組み込み開発

     

    | ビーコン菅原 | Renesas RXマイコン | 20:30 | comments(2) | trackbacks(0) |
    接続時のモードピン@フラッシュ書き込み時 RX62n/RX621
    0
      接続時のモードピン@フラッシュ書き込み時
      ここでRX630シリーズの FDT設定の説明がある。

      これで RX621 の基板で、そのままやったら。だめでした。

      RX62n/RX621の設定を以下に示す。

      Renesas RX62nセッティング
      io0 = EMLE
      io2 = MD0
      io3 = MD1

      EMLE 0
      MD0 1
      MD1 0
      がBootmode の指定になります。
       
      JUGEMテーマ:組み込み開発
      | ビーコン菅原 | Renesas RXマイコン | 09:00 | comments(0) | trackbacks(0) |
      CS+ RXマイコン開発でいきなり躓いたこと
      0
        この間、RXマイコンではまったので共有したいと思います。
        現象は ポートの設定しても、LEDチカチカできないとか、クロックを外部20MHzにしたのに、水晶振動子の両端を観測してもクロックが観測できないなど、とにかく、マイコンボードがうまく動かない。
        かといって、IOポートとか、デバッガのペリフェラルの設定を見ても正しく設定されるし、読み書きできる。
        しかしながらLEDは点灯しないし、スイッチのポートをみてもスイッチに連動しないという症状ですね。
        で、これはデバッグツールがシミュレータになっていないか確認します。
        最近はシミュレータも出来がいいので、ステップ実行してもシミュレータ上であると気づかなかったりします。

        RXシミュレータ
        でデバッグツールを E1 などに変えて、クロックの設定をすればリアルでも動きます。


        RXシミュレータ2
        最近はあらかじめ動作しているプロジェクトをそのまま動かすことも多い。
        新規プロジェクトで開発する場合、Rxシミュレータになっていると動かないということで、こういう問題は意外と気づきにくく、マイコンのハードウェアマニュアルとか熟読したりする方向にがんばってしまいがちで、さんざん考えた後に「なーんだ」となって一件落着。
        とても、悔しいし、時間の無駄なので、注意したいところです。



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