困りごとがあり、ここで質問させてください。RX65N)を使用しているのですが、コンフィギュレーション領域(オプション設定メモリ)へのセルフプログラムが出来ません。実際は書き換えられていない様で、本当にコンフィギュレーション領域をセルフプログラミングできるのか疑問に思っています。試した内容は以下です。「デバッグ」→「デバッグ・ツールから切断」→「デバッグ・ツールへ接続」とすると値が書き込み前の状態に戻っています。同様の処理手順(FACIコマンドは相応の物に変更している)でプログラム領域を書き換える事は出来ているのですが、コンフィギュレーション領域が書き換える事が出来ていません。agod.nさん、こんにちは。NoMaYと申します。以前に、かふぇルネのスレッドで、以下のような印象を持ったことがあります。今回の件は、CS+で(つまりHEWで無くても)その通りのことが行われたのではないか、という可能性が気になりました。HEWはデバッグ情報のみのダウンロードでもフラッシュメモリ上のエンディアン指定データ用のアドレスの内容を書き換えている可能性が高そうな予感がします。接続することだけでも書き換えてる可能性がありそうな予感がします。(以下からの推測ですが。)」それで、こちらでちょっと分からないのは、添付されていた2枚目の画面コピーは、エンディアンを切り替えた後なので、FE7F_5D03番地が書き換わっているように見ているけれども(そのこと自体はCS+の何かの事情?内部処理的には常にワード長で読み出している?なのかな、とも思いましたが)、もともと書き換えたのはFE7F_5D00番地のエンディアン設定データでしょうか?および、電圧検出0レベル、でしょうか。NoMaYNoMaYさん、ご連絡ありがとうございます。>FE7F_5D03番地が書き換わっているように見ているけれどもCS+の設定をビッグエンディアンにしてコンパイルした時に出力されるmotファイルの中身を見たところ、FE7F_5D03にF8を書き込む内容となっていました。実際のmotファイルの該当部分は以下です。S311FE7F5D00FFFFFFF8FFFFFFFFFFFFFFFF27この事からコンフィギュレーション領域はエンディアンビットに関係なくビッグエンディアンで書かれていると推測しています。本課題が発生しております。「デバッグ」→「デバッグ・ツールへ接続」を行うと以下のメッセージが出ました。内蔵フラッシュROMのMDEレジスタのMDEビットを書き換えました。違う確認方法を検討&実験してみます。d.nd,nさん、かふぇルネ管理人です。d,nさんの上記書込みはシステムがSPAMと判断したため非公開となっていました。同じ文字の繰り返しがSPAMと判断されたようです。管理人の権限で書込みを公開の設定に変更しました。以上、よろしくお願いします。d.nd.nさん、こんにちは。気になったのですけれども、書き換えプログラムというのは、ビッグエンディアン、リトルエンディアン、どちらなのでしょうか?以下で、試験の最後に製品プログラムに書き換える、ということであれば、動作試験を行うプログラムのリトルエンディアン、ということになるのでしょうかね。ごめんなさい、最初の御質問を振り返ってみれば、そもそもそういう状況についてのスレッドでしたね、失礼しました。本課題が発生しております。他方で、そういえば、I/Oレジスタでは以下の記載がハードウェアマニュアルにあるのですけれども、しいて言えばエンディアンとしてはどちらなのかということに関しては、記載は無かったのでした。内容となっていました。実際のmotファイルの該当部分は以下です。ビッグエンディアンで書かれていると推測しています。レジスタはビッグエンディアン、リトルエンディアン設定に関わらず、固定アドレスに配置されています。レジスタへのアクセスは、エンディアン変更の影響を受けません。レジスタの配置については、各章のレジスタの説明を参照してください。」なお、そのmotファイルのそのデータに関しては、FITのBSPモジュールの以下のソースから、確かにそのようにコンパイル/リンクされてmotファイルに出力されるもの、というのは理解出来るのです。コンパイルオプションでビッグエンディアン指定したから、そのバイトの並び順で出力された、だけ?、ということもあったりしないだろうかと気になるのですけれども。d.nd.nさん、こんにちは。時間が経過していますので、既に把握済みかも知れませんが、ちょっと気になったので、今一度FITのBSPモジュールのvecttbl.cを確認してみました。オプション設定メモリに対してエンディアンを固定するような記述はされていませんので、例えば以下のような設定に対し、リトルエンディアンとビッグエンディアンとで、コンパイル/リンクしたmotファイル上でのバイトの並び順は以下のように異なったものになります。FACIコマンドで(16バイト単位で)オプション設定メモリを書き替える場合、どちらのバイトの並び順でなければいけないのか、やはりデリケートな案件な気がするのですけれども。d.nd.nさん、こんにちは。時間が経過していますので、既に把握済みかも知れませんが、ちょっと気になったので、今一度FITのBSPモジュールのvecttbl.cを確認してみました。オプション設定メモリに対してエンディアンを固定するような記述はされていませんので、例えば以下のような設定に対し、リトルエンディアンとビッグエンディアンとで、コンパイル/リンクしたmotファイル上でのバイトの並び順は以下のように異なったものになります。FACIコマンドで(16バイト単位で)オプション設定メモリを書き替える場合、どちらのバイトの並び順でなければいけないのか、やはりデリケートな案件な気がするのですけれども。NoMaYご連絡、ありがとうございます。お返事いただいた内容、こちらでも把握し、リトルエンディアンのプログラムで、ビッグエンディアンのmotファイルをセルフプログラミングする場合、4byteエンディアン変換を行いながら書き込まないと並び順が変わってしまい正しく書き込めないという結論に至りました。4byteエンディアン変換を行いながら書き込むことで、リセット後、ビッグエンディアンのプログラムが動作することまで確認できました。ありがとうございました。