RX72TでUB コードの現状の確認や設定変更をしたいのですがCS+からできますか?

RX72TでUB コードの現状の確認や設定変更をしたいのですがCS+からできますか?
VIEWタブのMEMORY MEMORY4をクリックしてff7fffe8番地を表示させようとしましたがスクロールでそこまでたどり着くのに相当な時間がかかりそうです。

ff7fffe8を設定して移動ボタンを押しましたが反応しません。ff7fffe8番地を表示できたとしても設定変更できるのでしょうか?

他に手段はあるのでしょうか?

  • tetsuyanagaiさん、こんにちは。NoMaYと申します。

    手持ちのデバッガが繋がるマイコン基板でUBコードがあるマイコンがありませんでしたので推測ですけど、以下のオンラインヘルプの記載から思いつく可能性として、CS+のデバッガ設定でユーザブートモードで起動するように設定してから起動しないと、ユーザブート領域(とその一部であるUBコード)は操作出来ないのかも知れませんね。(RX72Tは、ハードウェアマニュアルによると、USBブートモードがあるようなので、それを消してしまう心構えをしてから試さないといけなさそうですね。)

    top > RX > デバッグ・ツール編 > 機能 > デバッグ・ツールの動作環境設定 > 【E1】の場合 > [接続用設定]タブ
    2.3.2.1 [接続用設定]タブ
    tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V8.06.00/CS+.chm/DebugTool-RX.chm/Output/db_kinou_config_E12.html

    -[モード端子設定]

    マイクロコントローラのモード端子で設定している動作モードを指定します。

    -[USBブートプログラムの消去を許可する]

    USBブートプログラムが格納されたマイクロコントローラを使用してユーザブートモードで起動する際に,ユーザブート領域上のUSBブートプログラムを消去するか否かを指定します。

    このプロパティは,[モード端子設定]プロパティにおいて[ユーザブートモード]を指定した場合のみ表示されます。ただし,ユーザブートモードで起動する際に,ユーザブート領域上のUSBブートプログラムを消去する必要のないマイクロコントローラの場合は表示されません。


    [関連リンク]

    FAQ 1010089 : ユーザブートプログラムをユーザブート領域(ユーザーブートマット)に書きたい。どのようにして書けばいいのか?
    ja-support.renesas.com/knowledgeBase/17794998
     

  • こんにちは。NoMaYです。

    ググったら、こんなブログ記事がありました。参考になるかも知れません。

    RX210ユーザーブート - MIBC備忘録
    https://mibc.blog.fc2.com/blog-entry-175.html

    [関連リンク]

    Google検索: Renesas RX ユーザブートプログラム 作成
    www.google.com/search?q=Renesas+RX+ユーザブートプログラム+作成
     

  • ありがとうございます。参考にします。

  • cs+のスマートコンフィギュレータのStartup ジェネリック r_bspの中にUser Boot Modeの欄があって

    0 = Single-Chip or USB Boot Mode
    1 = User Boot Mode

    以上の選択ができてデフォルトでは0 = Single-Chip or USB Boot Modeになっていました。

    デフォルトのままコードの生成をしてみると

    r_bsp_config_reference.h の中に

    #define BSP_CFG_USER_BOOT_ENABLE        (0) となっていました。

    vecttble.cを見ると

    /***********************************************************************************************************************
    * The following array fills in the UB codes to get into User Boot Mode, the MDEB register, and the User Boot reset
    * vector.
    ***********************************************************************************************************************/
    /* The UB Code A, UB Code B, and Endian select register B (MDEB) are located in the User Boot space. Immediately
    following the MDEB register is the User Boot Reset Vector so it is defined below as well. These settings will only
    be used when the MCU is reset in User Boot Mode. In order for the MCU to start up in User Boot Mode the following
    conditions must be met:
    1) UB code A is 55736572h and 426F6F74h.
    2) UB code B is FFFF FF07h and 0008 C04Ch.
    3) The low level is being input on the MD pin.
    4) The high level is being input on the PC7 pin.
    Please see the Option-Setting Memory section of your MCU's HW manual for more information. */

    /* 0xFF7FFFE8 - 0xFF7FFFEF : UB Code A register
    0xFF7FFFF0 - 0xFF7FFFF7 : UB Code B register
    0xFF7FFFF8 - 0xFF7FFFFB : Reserved
    0xFF7FFFFC - 0xFF7FFFFF : User Boot Reset Vector */

    #if BSP_CFG_USER_BOOT_ENABLE == 1

    /* Use this array if you are using User Boot. Make sure to fill in valid address for UB Reset Vector. */
    /* Allocate this space in the user boot sector. */
    R_BSP_ATTRIB_SECTION_CHANGE_UBSETTINGS const uint32_t user_boot_settings[6] =
    {
    0x55736572, /* Required setting for UB Code A to get into User Boot */
    0x426f6f74, /* Required setting for UB Code A to get into User Boot */
    0xffffff00, /* Required setting for UB Code B to get into User Boot */
    0x0008c040, /* Required setting for UB Code B to get into User Boot */
    0xFFFFFFFF, /* Reserved */
    (uint32_t) R_BSP_UB_POWER_ON_RESET_FUNCTION /* This is the User Boot Reset Vector.


    When using User Boot put in the reset address here */
    };

    以上の内容となっていましたのでどうやらUser bootにしたいときは上記を変更すればよさそうです。

    私は 0 = Single-Chip or USB Boot Mode であることを確認したかっただけなのでこれで満足しました。

    変更してみる勇気はないのでどなたか1 = User Boot Modeでチャレンジしてみてください。

  • tetsuyanagaiさん、こんにちは。NoMaYです。

    > どうやらUser bootにしたいときは上記を変更すればよさそう

    微妙な表現の問題とも言えますが、User bootにする、というのは以下の2つの条件が成立した場合でしょうね。

    (1) ユーザブート領域にユーザブートプログラムが書き込まれている
    (2-2) ユーザブートモードの端子設定でマイコンのリセットが解除された(デバッガ未接続時)
    (2-2) ユーザブートモードのデバッガ設定でデバッガを起動した(デバッガ接続時)

    (前にも書いた通り私はやったことが無くて申し訳ないですが、) そして、#define BSP_CFG_USER_BOOT_ENABLE (1) で作成したプログラムをユーザブート領域に書くには以下の何れかが必要である、ということかな、と思うのでした。

    (A) ユーザブートモードの端子設定にしておいて、作成したプログラムをRenesas Flash Progurammerでマイコンに書く
    (B) ユーザブートモードのデバッガ設定でデバッガを起動して、作成したプログラムをダウンロードする