環境はCS+ for CC V8.01.00 [03 Dec 2018] / CC-RL V1.08.00 /R5F100AE /EEL pack02使用です。
セルフRAMリスト(R20UT2943JJ0302)を参照してFEF00H-FF07FHを空けてmapファイルは下記の状態です。
.monitor2 0000fe00 0000ffff 200 1.dataR 000ff080 000ff160 e1 2.bss 000ff162 000ffe05 ca4 2.sdataR 000ffe20 000ffe20 0 2.sbss 000ffe20 000ffe20 0 2EEL_SDAT 000ffe20 000ffe20 1 2FDL_SDAT 000ffe22 000ffe23 2 2
このときに関数の引数や関数内の変数がFF020HなどFEF00H-FF07FHの中に配置されることがあります。
EEL_ERR_INTERNALやRefreshの失敗などが起こっていて、これが原因だと思っています。
map上だと未使用に見えるのですが、セクション指定が足りないなどあるのでしょうか?
designさん、こんにちは。NoMaYです。> 中身は0ではなくなっているそれは不定値が見えているだけかも知れません。というのは、セクション種別としてはbssとしたのですが、このような非標準のbss種別のセクションは、標準のスタートアップルーチンではケアされない(スタートアップルーチンでは0クリアしない)からです。(同様に、非標準のdata種別のセクションも標準のスタートアップルーチンではケアされず、変数初期値のROM→RAMへのコピーが行われないです。ちなみに、IARコンパイラでは、このようなセクションは noinit という種別になるようで、このネーミングの意図が理解出来た瞬間、ナルホド、と思ったことがありました。)