お世話になっております。
開発環境: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に割り当てられているサイズが大きい、というのは品質的に問題があるのでしょうか?
初歩的な質問かもしれませんが、何卒ご教示の程、宜しくお願い致します。
ご返答ありがとうございます。 .bssはmapファイルを眺めている時に不意に疑問に思ったので、ついでのような形で質問させて頂きました。ややこしいことをしてしまい、申し訳ありません。
>確認されたいのはスタック領域のサイズですか? それとも未使用RAM領域についてでしょうか?
未使用のRAM領域です。