RAMの初期化とスタックについて質問です。

やりたいことは、プログラムをROM上に置いて、リセットする際に(マイコンが立ち上がるとき?)
RAMの全アドレスに1を書き込み、その後0を書いて初期化します。
その後に、通常の動作開始…というような、RAMのチェックをする処理をしたいです。

いまいち分からないのですが、スタックポインタが、このRAMの末尾にあり、ここもクリアするとプログラムが暴走します。

スタックは関数を使うと使われる?らしいので、RAM初期化の処理を関数を一切使わずに書けば
RAMを一度クリアしても問題ありませんか?

いまいち説明も上手くできず伝わるかどうか…すみません
よろしくお願いします!