2406767_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2406767_ja-JP

2406767_ja-JP

S32K3スタンバイRAMデータはリセットハンドラ実行前に変更されました

こんにちは、

PE MicroでS32K344をデバッグすると、配列(__attribute__ ((section(".standby_data"))) が見つかりました。スタンバイ RAM セクションにある volatile uint32_t WkupSourcestatus1[64];) が main() に入るときに予期せず変更されます。そして、添付の動画に示すように、スタンバイRAM領域を再初期化するためにレジスタを手動で変更しました。データは正しく0に初期化され、main()関数に入った後はすべて正常に動作しました。しかし、リセット後、Reset_Handlerに入ると、WkupSourcestatus1配列のデータが再び変更されます。なぜこのようなことが起きているのか?配列の中に0x5AA55AA5という値が多数出現していることに気づきました。これはSBAF_BOOT_MARKERに関連していますか?別の基板でも試してみましたが、同じ現象が発生しました。

8.png8.png8.png8.png8.png

その後、J-Linkを使ってデバッグに切り替えましたが、リセット中に異常は発生しません。しかし、デバッグセッションを再開すると、スタンバイRAM領域内のすべてのデータが0xDEADBEEFになります。これは想定される動作ですか?

S32K344

S32DS3.6.4

RTD700

PE v.6.0.8


BR、

ジェイソン

Re: S32K3 Standby RAM data modified before Reset_Handler

ハイ

返信が遅くなり申し訳ありません。最近、お問い合わせが多数寄せられており、対応に追われております。

スタンバイRAMの使用方法については、 S32K311のスタンバイRAM保持に関する議論を参照することをお勧めします。

よろしくお願いいたします
ロビン

Re: S32K3 Standby RAM data modified before Reset_Handler

リセット中もスタンバイRAMの内容は残り、あなたが観察した値はMCUリセット前の内容であるはずです

=======================================================================================

RAMはSRAMメモリとTCMによって統合されている。SRAMメモリの一部はスタンバイ状態で使用可能です。
モード。つまり、MCUをスタンバイモードに設定した後も、このメモリの内容は保持されます。その
S32K3製品ファミリーは、ARM Cortex M7アーキテクチャのTCM機能を活用しており、その主な目的は
重要なデータに対してコアへの決定論的アクセス時間を提供し、アクセスの遅延を防ぎます。これだ
この機能はリアルタイムオペレーティングシステムで活用可能です。

前述の通り、スタンバイドメインによってソースされたスタンバイSRAMメモリに保存されるデータは、
MCUはスタンバイモードで、ウェイクアップ後に利用可能です。しかし、Runによって取得されたSRAM内のデータは
ドメインが利用できないため、ECCエラーを回避するために、ウェイクアップ後に初期化する必要があります。重要なことです
ウェイクアップ後は、ECCエラーを避けるためにスタンバイSRAMを初期化する必要がないことを指摘しますが、
SRAMの他の部分はそれを必要とするため、起動コードで適切な区別を行うべきです。1
この区別を示す例を以下のコードに示します。

タグ(1)
評価なし
バージョン履歴
最終更新日:
2 週間前
更新者: