ブート&フラッシュ領域分割時のスタック領域のサイズについて

お世話になっております。

開発環境:CS+(CC-RL)

マイコン:R5F101MFAFB

 

下記資料を参考にブート領域とフラッシュ領域を分割したプログラムを作成しております。

https://www.renesas.com/jp/ja/doc/products/tool/doc/016/r20ut3475jj0300-ccrl.pdf

 

質問①:スタック領域のサイズ変更

上記資料のP12でスタック領域(.stack_bss)サイズを「200」と指定していますが、これはブート領域を使用する場合はこのサイズが最大?なのでしょうか?

 

下記FAQを参考にすると、領域を分割しない場合のスタック領域は、未使用の連続した最大のRAM領域をデフォルトでスタック領域として確保してくれる、と記載があります。※78K0Rコンパイラのみ?

https://ja-support.renesas.com/knowledgeBase/17796495

https://ja-support.renesas.com/knowledgeBase/17796637

 

つまり未使用のRAM領域があれば、ブート領域とフラッシュ領域に分割していようともスタック領域を増やしても問題ないのでしょうか?

 

質問②:スタック領域サイズの確認方法

ブート領域とフラッシュ領域に分割したプロジェクトで、mapファイルで割り当てられたスタック領域のサイズを確認する手段は、ブート領域側のmapファイルの「__STACK_ADDR_START」から「__STACK_ADDR_END」までが未使用RAM領域?という認識であっているのでしょうか?

 

質問③:「.bss」のサイズ

ついでのような質問で恐縮ですが、「.bss」のサイズを意識する必要性を教えて下さい。やはり.bssに割り当てられているサイズが大きい、というのは品質的に問題があるのでしょうか? 

 

初歩的な質問かもしれませんが、何卒ご教示の程、宜しくお願い致します。

Parents
  • > 質問①:スタック領域のサイズ変更
    > 上記資料のP12でスタック領域(.stack_bss)サイズを「200」と指定していますが、これはブート領域を使用する場合はこのサイズが最大?なのでしょうか?

    割当可能な限り好きに変えられる筈です。

    > 質問②:スタック領域サイズの確認方法

    確認されたいのはスタック領域のサイズですか? それとも未使用RAM領域についてでしょうか?

    > 質問③:「.bss」のサイズ
    > 「.bss」のサイズを意識する必要性を教えて下さい。

    どっから出てきた話ですか?
Reply
  • > 質問①:スタック領域のサイズ変更
    > 上記資料のP12でスタック領域(.stack_bss)サイズを「200」と指定していますが、これはブート領域を使用する場合はこのサイズが最大?なのでしょうか?

    割当可能な限り好きに変えられる筈です。

    > 質問②:スタック領域サイズの確認方法

    確認されたいのはスタック領域のサイズですか? それとも未使用RAM領域についてでしょうか?

    > 質問③:「.bss」のサイズ
    > 「.bss」のサイズを意識する必要性を教えて下さい。

    どっから出てきた話ですか?
Children
  • ご返答ありがとうございます。

    .bssはmapファイルを眺めている時に不意に疑問に思ったので、ついでのような形で質問させて頂きました。ややこしいことをしてしまい、申し訳ありません。

     

    >確認されたいのはスタック領域のサイズですか? それとも未使用RAM領域についてでしょうか?

    未使用のRAM領域です。

  • > >確認されたいのはスタック領域のサイズですか? それとも未使用RAM領域についてでしょうか?
    >
    > 未使用のRAM領域です。

    __STACK_ADDR_START~__STACK_ADDR_END は未使用のRAM領域のうち最大の連続領域しか表さないので、それ以外の未使用RAM領域が存在する可能性は普通に考えられます。