こんにちは、
高速スタンバイのサンプルプロジェクトで、配列を定義しました。 到着 で .standby_data セクションにありますが、この配列はコードのどこにも使用されていません。ただし、この配列の定義をコメントアウトすると、デバイスは高速スタンバイから復帰できません。そのままにしておくと、ウェイクアップは期待どおりに動作します。さらに、最適化レベルも動作に影響することに気づきました。 -O0 最適化、ウェイクアップ失敗、しかし変更して -オス するとうまくいく。なぜ変数を定義するとうまくいくのか .standby_data このセクションはウェイクアップ機能に影響を与えますか?また、最適化レベルがこれほど大きな影響を与えるのはなぜですか?
S32K312 RTD400 S32DS
BR、
ジェイソン
こんにちは、@ Jason22
プログラム内で「arr」配列をコメントアウトするかどうかは、高速ウェイクアップ後のMSPの初期値として使用される__BSS_SRAM_STARTの値に影響します。
この値が小さすぎるとスタックオーバーフローを引き起こすことがあります。
このサンプルプロジェクトでは、この値をスタンバイRAMの終了アドレスである0x20408000に設定することをお勧めします。