Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

RenesasさんからRXマイコンの低価格Target Boardが出たのでサンプルプログラムをCSplus projectへ変換してみようと思います

こんにちは。NoMaYです。

ウェブで調べ物をしていたら、ルネサスさんからRXマイコンの低価格ボードが出たことを知りました。でも、サンプルプログラムがe2 studioプロジェクト版しか無いようなのでCS+プロジェクトに変換して後で投稿してみようと思います。(もっとも、ボードが無くて動作確認は出来ないので、MOTファイルが同一になるようにしてみるところまでですが、、、) 30米ドル程らしいので3千円ちょっとぐらいかな。

拡充を続ける32ビットマイコン「RXファミリ」を容易に導入できるターゲットボードを発売
~家電製品、ビル用および産業用オートメーション機器向けなどに、「RX65N」「RX130」「RX231」用を用意。組み込み開発のスタートを支援~
www.renesas.com/ja-jp/.../news20180219.html

Target Board for RX family 製品ページ
www.renesas.com/ja-jp/.../rx-family-target-board.html
 

  • こんにちは。NoMaYです。

    今更ながらユーザーズマニュアルが昨年の夏(2018年7月)に改版されていたことに気付いたので目を通していたら、「RFPとの通信は未対応です」との記載が削除されていたことに気付きました。また、以下のようにRFPが使える旨の記載に変更されていたことにも気付きました。試してみたところ、無事にRFPと通信が成立しました。(ちなみに、初回通信時にオンボードエミュレータのファームもアップデートされたっぽいです。)

    Target Board for RX130 ユーザーズマニュアル Rev.1.01 2018.7
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4169jj0101-rxtb.pdf

    Target Board for RX231 ユーザーズマニュアル Rev.1.01 2018.7
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4168jj0101-rxtb.pdf

    Target Board for RX65N ユーザーズマニュアル Rev.1.01 2018.7
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4167jj0101-rxtb.pdf

    旧(Rev.1.00 2017.10) 12頁

    5.2 USB コネクタ
    コネクタ形状はUSB mini-B で、用途はデバッグインタフェースです。...以後省略...


    新(Rev.1.01 2018.7) 12頁

    5.2 USBコネクタ
    コネクタ形状はUSB mini-Bで、用途は統合開発環境(IDE)とルネサスフラッシュプログラマ(RFP)を使用するためのインタフェースです。...以後省略...


    以下、プロジェクトを作成してブランクチェックした時の画面コピーです。(なお、RFPのメッセージ表示エリアを少し伸ばすように加工して、メッセージを一度に見られるようにしてあります。)

    プロジェクト作成




    ブランクチェック

  • こんにちは。NoMaYです。

    RFPを触っていて、オンボードエミュレータとの通信切断時に、オンボードエミュレータのリセット出力をHi-zにし、切断後も、そのままHi-zを継続する、ということが出来ることに気付きました。TBボードのマニュアルによると、USBから給電する場合、プログラムをフリーランさせるにはボードのジャンパピン(要半田付け)をショートさせてオンボードエミュレータをリセット状態にしなければならないのですが、この機能を使えば、ジャンパピンをオープンにしたまま、RFPで書き込んだ後にすぐにプログラムをフリーランさせることが出来ます。

    また、RFPには、サイレントモードというものがあり、GUIを表示することなしに、コマンドラインオプションでRFPの操作を制御することが出来るのですが、RFPの操作としてチェックサムコマンドを指定しておくと、DOSプロンプトから気軽にオンボードエミュレータのリセット出力をHi-z or Lowにすることが出来るようになります。(ただし、短時間だけLow⇔Hi-zのトグルがあります。とはいえ、マイコンはフラッシュプログラミングモードに入っていますので、ユーザプログラムは走りません。) DOSプロンプトから以外にも、Windowsショートカットを作成して、コマンドライン文字列を設定してやれば、WindowsデスクトップやWindowsツールバーに配置して、1クリック(or 1 ダブルクリック)で行えるようになります。

    他方、以前からTeraTermにTeraTerm Menuというランチャーソフトが同梱されていることに気付いていて何か機会があれば試してみようと思っていたのですが、ふと、これで試してみようという考えが思い浮かびました。そこで、以下の画面コピーのように、やってみました。そして、やって分かったのですが、RX231やRX130ではプログラムにIDコードが設定されていないとチェックサムコマンドでもフラッシュメモリが自動的/強制的に消去されます。ルネサスさんが公開しているTBボードのサンプルプログラムではIDコードが設定されていませんでしたので、サンプルプログラムを変更しましたが、その箇所も以下に書いておきました。(なお、RX65Nは少しフラッシュメモリの仕様が異なっており、IDコードを設定する必要は無さそうでしたが、どうせなので、IDコードを設定してみました。)

    ちなみに、そんなことをするよりジャンパを挿したり抜いたりした方が素早く出来るというのも確かなのですが、私のパソコンだとWindowsエクスプローラが暫く固まってしまったりとかして、あまり心地良いものでは無かったりしますので、こういったやり方を試してみました。

    RFPのエミュレータリセット出力の設定画面(本目的では速い通信速度は不要なので確実性重視で250Kbpsにしています)


    TeraTerm Menuの設定画面やメニュー画面
      

    TeraTerm Menuのドキュメントからの抜粋


    RFPのドキュメントのサイレントモードの記載
    www.renesas.com/jp/ja/doc/products/tool/doc/014/r20ut4307jj0200-rfp.pdf


    RFPの操作設定とIDコード設定の画面



    今回のRFPプロジェクトファイル一式(参考)
    rxtb_rfpproj_20190205.zip

    TerTerm Menuの設定(フォルダのパスは私の環境のものになってます)

    リスト項目: TB RX130 RES
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-res-rx100.rpj /silent

    リスト項目: TB RX130 RUN
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-run-rx100.rpj /silent

    リスト項目: TB RX231 RES
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-res-rx200.rpj /silent

    リスト項目: TB RX231 RUN
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-run-rx200.rpj /silent

    リスト項目: TB RX65N RES
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-res-rx65x.rpj /silent

    リスト項目: TB RX65N RUN
    起動アプリ: C:\Renesas\Programming Tools\Renesas Flash Programmer V3.05\RFPV3.exe
    オプション: C:\Renesas\rfpproj\generic\e2lite-fine-run-rx65x.rpj /silent

    サンプルプログラムの変更箇所(赤文字)

    RX231の場合: an-r20an0466jj0100-rxtb-rx231\Workspace\tb_rx231\src\cg_src\r_cg_vecttbl.c

    /*;0xffffffa0  ID */
        (void (*)(void))0x45ffffff,

    /*;0xffffffa4  ID */
        (void (*)(void))0xffffffff,

    /*;0xffffffa8  ID */
        (void (*)(void))0xffffffff,

    /*;0xffffffac  ID */
        (void (*)(void))0xffffffff,

    RX130の場合: an-r20an0468jj0100-rxtb-rx130\Workspace\tb_rx130\src\smc_gen\r_config\r_bsp_config.h

    /* Set your desired ID code. NOTE, leave at the default (all 0xFF's) if you do not wish to use an ID code. If you set 
       this value and program it into the MCU then you will need to remember the ID code because the debugger will ask for
       it when trying to connect. Note that the E1/E20 will ignore the ID code when programming the MCU during debugging.
       If you set this value and then forget it then you can clear the ID code by connecting up in serial boot mode using
       FDT. The ID Code is 16 bytes long. The macro below define the ID Code in 4-byte sections. */
    /* Lowest 4-byte section, address 0xFFFFFFA0. From MSB to LSB: Control Code, ID code 1, ID code 2, ID code 3. */
    #define BSP_CFG_ID_CODE_LONG_1          (0x45FFFFFF)
    /* 2nd ID Code section, address 0xFFFFFFA4. From MSB to LSB: ID code 4, ID code 5, ID code 6, ID code 7. */
    #define BSP_CFG_ID_CODE_LONG_2          (0xFFFFFFFF)
    /* 3rd ID Code section, address 0xFFFFFFA8. From MSB to LSB: ID code 8, ID code 9, ID code 10, ID code 11. */
    #define BSP_CFG_ID_CODE_LONG_3          (0xFFFFFFFF)
    /* 4th ID Code section, address 0xFFFFFFAC. From MSB to LSB: ID code 12, ID code 13, ID code 14, ID code 15. */
    #define BSP_CFG_ID_CODE_LONG_4          (0xFFFFFFFF)

    RX65Nの場合: an-r20an0464jj0100-rxtb-rx65n\Workspace\tb_rx65n\src\smc_gen\r_bsp\board\generic_rx65n\vecttbl.c

    #pragma address __OSISreg=0xFE7F5D50           /* OSIS register (ID codes) */
    const unsigned long __OSISreg[4] = {
            0xffffff45, ← 変更する場所が違うので注意
            0xffffffff,
            0xffffffff,
            0xffffffff,
    };

    [参考]

    以下、TBボードのユーザーズマニュアルの画面コピーとTBボードのジャンパピン位置の写真です。

    RX231
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4168jj0101-rxtb.pdf




    [参考]

    以下、RX231とRX130とRX65Nのハードウェアマニュアルの画面コピーです。

    RX231
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4168jj0101-rxtb.pdf





    RX130
    www.renesas.com/jp/ja/doc/products/mpumcu/rx100/r01uh0560jj0300-rx130.pdf

    ...以後、RX231と同様なので、省略します...

    RX65N
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r01uh0590jj0210-rx651.pdf





    [参考]

    TeraTermプロジェクトのサイト
    ja.osdn.net/projects/ttssh2/
     

  • こんにちは。NoMaYです。

    TBボードのユーザーズマニュアルによると、以下の場合にはTBボードの部品面とハンダ面でパターンカットを行った上で外部電源で動作させるようにしないといけないのですが、外部電源を必要とするユースケースがひとつ想定外になっているような気がします。(恐らくRXマイコン学習基板という位置付けで開発されたからなのだと思いますが、、、)

    TBボードが想定している外部電源を必要とするユースケース

    (1) 評価MCUを任意の電圧で動作させる場合
    (2) USBの電流容量では不足する場合

    良くある外部電源を必要とするユースケースだと思うけれども想定外になっているもの

    (3) 近くにパソコンが無い場所で使用する場合

    そして、(3)では、機能追加やバグ修正を行おうとすると、パターンカットした箇所をリペアしてUSB接続で使えるように戻さないといけないのですが、機能追加やバグ修正の度にリペアするというのはさすがに面倒だと思います。(それより、E2Liteエミュレータを買ってしまうか、もう1枚TBボードを買ってしまうか、のが良い?) 回路図を見たところ、パターンカットした後にTBボードのオンボードエミュレータ側からVCC/GND/RESET/FINED/GND(及び5V/3.3V)を引き出せるようにピンヘッダ(又はピンソケット)を立てられるようになっていましたので、そことTBボードのマイコン側を繋ぐ経路を探して写真に書き込んでみました。幸い、VDD/GNDとRESET/FINED/GNDの2組に分けて、それぞれまとめて引き回せそうです。また、VDD/GNDの組だけでなくRESET/FINED/GNDの組も、繋ぐ先はRX231/RX130/RX65NのどのTBボードでも同じ箇所で済みます。



    [参考]

    以下、TBボードのユーザーズマニュアルの画面コピーです。また、図ではハンダ面カットパターンの様子が分かり難いですので、その部分のTBボードの写真も付けました。

    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r20ut4168jj0101-rxtb.pdf

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page