EEL pack02のメモリに関して

Former Member
Former Member

環境は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 2
EEL_SDAT  000ffe20 000ffe20 1 2
FDL_SDAT  000ffe22 000ffe23 2 2

このときに関数の引数や関数内の変数がFF020HなどFEF00H-FF07FHの中に配置されることがあります。

EEL_ERR_INTERNALやRefreshの失敗などが起こっていて、これが原因だと思っています。

map上だと未使用に見えるのですが、セクション指定が足りないなどあるのでしょうか?

Parents
  • designさん、こんにちは。NoMaYと申します。

    以下の画面コピーのようにしてRAM領域を予約することが出来ると思います。ただし、それだけではリンク時に「W0561100:Cannot find "eel_reserved_n" specified in option "start"」ワーニングが出てしまいますので、どれかのCソースに以下の記述を追加してみて下さい。(変数サイズの -2 は(サイズ0とはいえ)sbss領域がレジスタ領域と重なってしまってリンクエラーになるのを回避する為です。)

    #pragma section bss eel_reserved
    uint8_t eel_reserverd[256-32-2];
    #pragma section



    なお、セクション名の最後に "_n" が付いているのはヘルプ記載の以下の理由によるものです。



    また、ヘルプでは、スタック領域の割付方法はリンクを辿ると以下のように説明されていますね。


Reply
  • designさん、こんにちは。NoMaYと申します。

    以下の画面コピーのようにしてRAM領域を予約することが出来ると思います。ただし、それだけではリンク時に「W0561100:Cannot find "eel_reserved_n" specified in option "start"」ワーニングが出てしまいますので、どれかのCソースに以下の記述を追加してみて下さい。(変数サイズの -2 は(サイズ0とはいえ)sbss領域がレジスタ領域と重なってしまってリンクエラーになるのを回避する為です。)

    #pragma section bss eel_reserved
    uint8_t eel_reserverd[256-32-2];
    #pragma section



    なお、セクション名の最後に "_n" が付いているのはヘルプ記載の以下の理由によるものです。



    また、ヘルプでは、スタック領域の割付方法はリンクを辿ると以下のように説明されていますね。


Children
No Data