2413830_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2413830_ja-JP

2413830_ja-JP

S32K358 高速スタンバイ

こんにちは、

S32K358で高速スタンバイ機能をテストしたいです。S32DSでIPレイヤーのデモを作成しました。このプログラムは起動後5秒で高速スタンバイ状態に入り、3秒後にRTC-APIによって起動されます。これは問題なく動作します。

そこで、このプロジェクトを参照して、MCALレイヤーのデモを作成するためにEBプロジェクトを設定しましたが、失敗しました。高速スタンバイ状態になってから3秒後、電流が増加した。これはデバイスが起動したことを示唆しているが、メイン機能には移行しなかった。PE Microで接続した後、以下のエラーメッセージが表示されます。

割り込みコマンドを受信しました。執行を停止します。

UsageFault: 無効な EPSR.T または EPSR.IT フィールドで実行された命令。

バスフォールト:不正確な(非同期)データアクセスエラーが発生しました。

ハードフォールト:障害がハードフォールトにエスカレートしました。

ウェイクアップ後のベクトルテーブルを以下に示します。

1.png1.png1.png

PCレジスタは0x0です。スタックの内容を確認すると、FastWkup_EntryAddressが入力されており、ハードフォールトはReset_Handlerにジャンプした後に発生します。

2.png2.png2.png

3.png3.png3.png

4.png4.png4.png

FastWkup_EntryAddress に while(1) ループを追加しても、ハードフォルトは依然として発生します。

5.png5.png5.png
スタンバイモードに入ると、単語が出てきます。

このプロジェクトでは、PMIC_PGOOD_HNDSHK_BYPが有効になっています。この基板には外部水晶発振器が搭載されていないため、コアクロックとしてFIRCが使用されています。

S32K358

RTD6.0.0

S32DS3.6.3

EB29.0


BR、

ジェイソン

Re: S32K358 FAST STANDBY

こんにちは、@Jason07 さん

高速スタンバイ起動時、sBAFはVTORをカスタムベクターテーブルアドレスに設定します。
しかし、あなたのベクターテーブルには3つのエントリしか定義されていません。

初期SP、

リセットハンドラ (FastWkup_EntryAddress)、

NMIハンドラー。

つまり、ハードフォールトベクトルが抜けているのです。
何らかの故障が発生すると、CPUは定義されていないハードフォールハンドラーアドレスを取り出し、これがPC値の原因となる可能性があります。

この問題をさらにデバッグするには、ベクターテーブルに適切なハードフォルトハンドラを追加してください。それらが設定されると、ハンドラーが0x0にクラッシュする代わりに呼び出され、スタックされたPC、LR、そして元の故障の構成可能な故障状態レジスタ(CFSR/BFAR)にアクセスできます。


ありがとうございました。

BR、ダニエル

Tags (1)
No ratings
Version history
Last update:
Thursday
Updated by: