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

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

開発環境: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
  • わわいです
    勘違いされてるようですが、各セクションに割り当てられる領域の位置、サイズは、プログラマのあなたが責任を持って管理するべきもの、です。
    自動生成によってだされるセクションの位置、サイズはあくまでこうしとけば動くであろう値に過ぎません。

    当然のことながら、各セクションの位置、サイズは自由に決められるものです
Reply
  • わわいです
    勘違いされてるようですが、各セクションに割り当てられる領域の位置、サイズは、プログラマのあなたが責任を持って管理するべきもの、です。
    自動生成によってだされるセクションの位置、サイズはあくまでこうしとけば動くであろう値に過ぎません。

    当然のことながら、各セクションの位置、サイズは自由に決められるものです
Children