はじめまして。フコイダンmkIIと申します。
正しい作法でバッテリバックアップ機能を使いたいと思い、電圧監視リセット0を有効に設定したいのですが、方法が分かりません。
当方の開発環境は以下のとおりです。
RX65NのHWユーザーズマニュアル 12.2.1 バッテリバックアップ機能を見ると、以下の記載があります。
なお、バッテリバックアップ機能は、電圧監視 0 リセットを有効に設定したうえで使用してください。
いっぽう、 オプション機能選択レジスタ1(OFS1)の設定について【RX71M, RX651, RX65N, RX64M】 には
ダウンロード以外の操作(メモリ パネルからの操作やラインアセンブル)でオプション機能選択レジスタ1(OFS1)を書き換えることはできません。電圧監視0リセット機能は使用できません。ダウンロード操作でOFS1レジスタを電圧監視0リセット有効に設定する場合,エミュレータが強制的に電圧監視0リセットを無効にした値に書き換えます。
とあって、要するに不可能ということでしょうか?
デバッグアダプタが未接続な状態で(自社製品としてRX65N搭載基板を起こして、最終顧客の手元で製品を動かすとき)、電圧監視0リセットが効けばよいのですが。
フコイダンmkIIさん、こんにちは。NoMaYと申します。まったく使えないということは無い筈ですよ。(諸般の事情で?)デバッグ時には強制的に無効にします、ということの筈です。ですので、RFPなどで書き込んだり、デバッガを接続せずにセルフプログラミングで書き換えたり、といったことであれば使えると思います。それで、すみません、「どうも合点がいかなかったその部分がそういう話であるなら後は自力で」という感じで先に進めそうですか?それとも、「そこがそうだとしてもどうコーディングすれば良いのか分からないという話は変わらない」といった感じでしょうか?その場合は、確認させて欲しいのですけれども、RXスマートコンフィグレータはお使いですか?使われているとして、FITモジュールを優先して使うのがお好みですか?それともCGコンポーネントを優先して使うのがお好みですか?(使い方を全て暗記しているわけではないので、こちらで調べてみたらどちらでもコーディングする箇所は同じだった、という顛末もあったりするかも知れませんけれども、、、)[追記]CS+のオンラインヘルプの情報がちょっと気になるぐらいには古いですね。内容的には同じでしたけれども、今はこちらでしょうかね。E1/E20/E2エミュレータ, E2エミュレータLite ユーザーズマニュアル別冊 (RX接続時の注意事項)R20UT0399JJ1500 Rev.15.00 Pages 76 2022.7.1www.renesas.com/jp/ja/document/mat/e1e20e2-emulator-e2-emulator-lite-additional-document-users-manual-notes-connection-rx-devices#page=6363頁「3.6. オプション設定メモリ3.6.1. オプション機能選択レジスタ1(OFS1)OFS1レジスタの注意事項は、マイコンごとに異なります。ご使用のマイコンに応じて以下をご確認ください。【対象:RX72M, RX72N, RX71x, RX67x, RX65x, RX64x】(1)ダウンロード以外の操作(メモリ パネルもしくは、メモリー・ビューからの操作やラインアセンブル)でOFS1レジスタを書き換えることはできません。(2)電圧監視0 リセット機能は使用できません。ダウンロード操作でOFS1レジスタを電圧監視0リセット有効に設定する場合、エミュレータが強制的に電圧監視0 リセットを無効にした値に書き換えます。(3)FINE通信を使用する場合、エミュレータが強制的にOFS1レジスタbit25-bit24を10bに書き換えます。ユーザプログラムでOFS1レジスタbit25-bit24を書き換えないでください。。。。以下省略。。。」
NoMaYさん、ご返信ありがとうございます。
頂いた返信を拝見して、私が以下のような勘違いをしていたのが分かりました。
誤: ダウンロード以外の操作(〜)でOFS1レジスタを書き換えることはできません、の「ダウンロード以外の操作」の範囲内に、RFPによる書き換えもセルフ書き換えも含まれる。
正: 使用上の注意事項 3.6.1.のオプション機能選択レジスタ に関する注意書きは、あくまでマイコンへエミュレータを繋いでいるときに限った話であって、RFPやセルフ書き換えならOFS1の書き換えができる。
正のほうが本当に正なのかはこれから実験してみて、顛末をこの掲示板に書き込もうと思います。(NoMaYさんを疑っているのではなくて、私の書き込みだけ見て信じる人がいたら、間違っていたとき迷惑をかけるので)
私はRXスマートコンフィグレーターを使用していて、それを介してFITモジュールを使用しているので、その方向でセルフ書き換えを試してみます。自力でなんとかなるはずです。
セルフ書き換えをコーディングするのが面倒で、RFP(の付属アプリ)を使ったOFS1書き換えに成功したので、その方法を以下に記載します。
@echo offsetlocal
set PATH=%PATH%;C:\Program Files (x86)\Renesas Electronics\Programming Tools\Renesas Flash Programmer V3.11
rfp-cli.exe -d RX65x -tool e2l -interface fine -write32 FE7F5D08 FEFFFFFB
echo Result Code: %ErrorLevel%
endlocal
上記を適当な名前、たとえば ofs1write.cmd という名前で保存して、コマンドプロンプトから実行することでOFS1が書き変わりました。
NoMaYさんのお陰で問題を解決できました。ありがとうございました。