MCU:RX71M
e2studioを使用して、MCUの外部にある2つの並列16ビットコンポーネントからなる32ビットフラッシュROMにファームウェアを書き込むには、USD(User System Definition)ファイルが必要です。 USDファイルは、ルネサスWebサイトからExternal Flash Definition Editorツールをダウンロードすることで生成することができます。
External Flash Definition Editorツールを使用する場合、標準プログラム(Standered program)では2*16bitフラッシュ回路接続に対応しておらず、USDファイルを生成するためのカスタムプログラムの作成が必要です。
カスタムプログラムのサンプルプログラムがあり、これはHEWのプロジェクトファイルに.c .h .lib ファイルをコピーして、新たに作成したe2studioプロジェクトに格納したものです。
コンパイル時に以下のエラーが発生します。
E0562320:Section address overflowed out of range : "$ADDR_B_84080"
84080のアドレスはRXファミリーのIOアドレスなので、上記のようなエラーになります。 しかし、このアドレスは.cと.hのファイルでは使われておらず、.libのソースコードがなければ変更できない.libで使われていると推察されます。
プログラムのデバッグ中に外部フラッシュROMにファームウェアを書き込む必要がある場合の解決策を提示してください。
baobaoさん、こんにちは。NoMaYと申します。> 84080のアドレスはRXファミリーのIOアドレスなので、桁が1つ違っています。RX71Mのハードウェアマニュアルの「4.1 アドレス空間」で以下のようになっていました。007F E000h 周辺I/Oレジスタ0080 0000hセクション名から推測すると、#pragma address ○○○○という記述がどこかで使われているように思われます。質問には、「カスタムプログラムのサンプルプログラムがあり」ということが書かれていましたが、それは私でも入手可能なものでしょうか?そうであれば、どこにあるでしょうか?文面からは、そのカスタムプログラムの(ソースコードが提供されていない)libファイルに起因するものである、ということだと受け取りましたけれども、私のその理解でよいでしょうか?これですね。外部フラッシュ定義エディタwww.renesas.com/jp/ja/software-tool/external-flash-definition-editor#document