RL78 CS+ for cc セクションわりつけについて

こんにちは、ちくわともうします。

RL78 CS+ for cc 下記エラーがでて困っています。

(E) F0563100 F0563100:Section address overflow out of range : "BOOT_COD_f" 

BOOT_COD_f でのセクションでオーバーフローが起きていることなので

セクションの割り当て変更したりしているのですが上記エラーが回避できません。

試しに一旦自動でセクションをわりてるとコンパイルは通ります。

ただどうしてもセクションの自動配置をやめたいので手動で設定したい場合の

上記エラーの回避方法をどなたかご存知ないでしょうか?

または"BOOT_COD_f"について調べる方法をご教授願います。

Parents
  • ちくわ さん、こんにちは。NoMaYです。

    このセクション設定ですが、リンカのセクションオーバーレイ機能が使われていますが、意図して使われていますか?それとも、CS+ for CCでCS+ for CA,CXのCA78K0Rプロジェクトを変換したら(読み込んだら)こうなったというものでしょうか?(このリンカ機能を知っているCC-RLユーザさんは極僅かしかいないと思うのです。RL78マイコンではまず使われることのない機能だと思うのです。)

    > 上記エラーがでる手動割り付け
    > .vect/00000,.callt0:.constf:.data/00080,BOOT_CNS_f/000A6,.sdata/000AA,.option_byte/000C0,.security_id:.SLIB/000C4,.monitor1/000CE,.text/000D8,BOOT_COD_n/002C8,FSL_FCD/0083E,FSL_RCD/008F6,FSL_BCD/0099A,FSL_BECD/00A9A,.textf/00B1A,.RLIB/00CAA,BOOT_COD_f/00CCB,.const:BOOT_CNS_n/03000,.monitor2/1FE00,.bss:.dataR:BOOT_DAT_n/FCF00,.sbss:sdataR/FFE20,BOOT_DAT_s/FFE28

    CS+ for CC画面コピー (画面は英語表示になっていますが、それは気にしないで下さい。)

     

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

    ひょっとして、.constfや.dataや.SLIBなどのサイズが0で同一アドレスに割り付けられていた状態を、(試行錯誤した顛末として)このようにセクション設定するものだろうと誤解されてのセクションオーバーレイ機能かも知れない気がしてきました、、、

    となると、私としては、最初に投稿された時点のエラーが出る手動割り付けの詳細が知りたいです。(でも、予感として、ミラー領域とオーバーラップしている、のかなぁ、と、、、[訂正] いや、違うかな、、、BOOT_COD_fは12hバイトのようですし、、、)

    > (E) F0563100 F0563100:Section address overflow out of range : "BOOT_COD_f"
    > BOOT_COD_f でのセクションでオーバーフローが起きていることなので セクションの割り当て変更したりしているのですが上記エラーが回避できません。

    [追記]

    ちなみに、以下と関連があるかは分かりませんが、'.sdataR'であるべきところが'sdataR'になっているのではありませんか、、、

    > 下記エラーがでてしまいました。
    > (E) E0562321 E0562321:Section ".RLIB" overlaps section ".textf"
    > (E) E0562321 E0562321:Section "BOOT_COD_f" overlaps section ".textf"

    > 上記エラーがでる手動割り付け
    > .vect/00000,.callt0:.constf:.data/00080,BOOT_CNS_f/000A6,.sdata/000AA,.option_byte/000C0,.security_id:.SLIB/000C4,.monitor1/000CE,.text/000D8,BOOT_COD_n/002C8,FSL_FCD/0083E,FSL_RCD/008F6,FSL_BCD/0099A,FSL_BECD/00A9A,.textf/00B1A,.RLIB/00CAA,BOOT_COD_f/00CCB,.const:BOOT_CNS_n/03000,.monitor2/1FE00,.bss:.dataR:BOOT_DAT_n/FCF00,.sbss:sdataR/FFE20,BOOT_DAT_s/FFE28

  • チョコです。

    もしかしたら、ベクタ領域が全面的に確保されてしまっているのが原因ですかね。

    そうだとすると、CC-RLのプロパティの「リンク・オプション」にある「出力コード」

    「ベクタ・テーブル・セクションの分割生成」を「はい」に変更してみたらどうでしょう。

    CA78K0Rでは、特に指定しなくてもベクタ領域はある程度自由に使えたのですが、CC-RLでは、

    標準では、どこかでベクタ領域を使うと他のところでは、たとえ、そのアドレスが使われて

    いなくても、使えなくなりました。Renesasにクレームをつけたところ、このオプションが

    追加されて、ある程度自由に使えるようになりました。試してみてください。

Reply
  • チョコです。

    もしかしたら、ベクタ領域が全面的に確保されてしまっているのが原因ですかね。

    そうだとすると、CC-RLのプロパティの「リンク・オプション」にある「出力コード」

    「ベクタ・テーブル・セクションの分割生成」を「はい」に変更してみたらどうでしょう。

    CA78K0Rでは、特に指定しなくてもベクタ領域はある程度自由に使えたのですが、CC-RLでは、

    標準では、どこかでベクタ領域を使うと他のところでは、たとえ、そのアドレスが使われて

    いなくても、使えなくなりました。Renesasにクレームをつけたところ、このオプションが

    追加されて、ある程度自由に使えるようになりました。試してみてください。

Children
No Data