SCB FS26搭載のS32K312ソフトを使っていて、コールド/ウォームの電源アップを検知するはずです。ハードウェアレイアウトのため、DES /FESレジスタは使用できません。したがって、スタンバイRAMにはメモリマッピング変数が使用され、ウォームパワーアップの場合はマジックナンバー、コールドパワーアップの場合は未定義の値が含まれる。マジックナンバーを保持するため、このメモリ領域は起動時に初期化されません(初期化すると情報が失われるため)。しかし、この変数の読み取りアクセスはハードフォールを引き起こします。
DES/FESが使えない場合、nxpの公式なコールド/ホットパワーアップ検出方法は何ですか?
ハードフォルトが発生した場合、初期化されていない変数を読み取る関数に安全に戻り、コードの実行を継続するには、どのような処理が必要でしょうか?
こんにちは、
DES/FESが使えない場合、nxpの公式なコールド/ホットパワーアップ検出方法は何ですか?
公式な方法は常にDES/FESです。これらが分析に利用できない状況は想像できません。
なぜDES/FESが使えないのか説明してもらえますか?レジスタはアクセス不能ですか?アプリケーションが読み取る前にクリアされているのか、それともリセットソースとは別のものを特定しようとしているのですか?
よろしくお願いいたします。
ピーター
こんにちは、ピーターさん。お返事ありがとうございます。
MCUの機能リセットはRSTB信号を主張し、それがMCU外の回路をトリガーします。すると回路はリセット状態をより長い時間保持する。残念ながら、これは破壊的なリセットを引き起こし、DES=1となります。だからDES/FESは使えません。
よろしくお願いします、
クリストファー