プログラムは実行中に割り込みを発生させず、pit_notifaction も呼び出しませんでした。
ソフトウェア環境:S32DS 3.6.0RTD 6.0.0
こんにちは、 @Finnc
現在、私はS32K311ボードにアクセスできません。しかし、同じ構成とコードをFRDM-A-S32K312でテストしたところ、PitNotificationが呼び出され、カウンタが期待どおりに増加することを確認しました。
通知関数が呼び出されているかどうかを確認するために、通知関数内にブレークポイントを設定していただけますか?
BR、VaneB
全速で走行している場合、pit_notifactionは入力されず、PitCountの値は0のままです。一時停止時のレジスタのパラメータを図に示します。
クロック設定に関係していますか?設定は以下のとおりです。
Finnc_0-1781330060900.png
Finnc_1-1781330089325.png
Finnc_2-1781330277353.png
Finnc_3-1781330292758.png
Finnc_4-1781330308238.png
Finnc_5-1781330368160.png
こんにちは、 @Finnc
あなたのコードで確認できる通り、カウンターはPitNotificationが呼び出されたときにのみ増加します。これは、PIT割り込みが正しくトリガーされていることを示しています。
よりシンプルで分かりやすいテストを行うには、PitNotification 関数内で printf を使用してカウンター値を出力することができます。表示された値を確認できれば、割り込みが想定どおりに実行されていることがさらに確認できます。
例えば、私は以下のように実装しました。
VaneB_0-1781283456565.png
こんにちは、 @Finnc
S32K311EVBを使って私の環境であなたのコードをテストしたところ、すべて期待どおりに動作しました。
カスタムハードウェアに関連する問題を排除するために、クロックソースをFIRCに切り替えて、動作に変化があるかどうか試していただけますでしょうか?
こんにちは、 @Finnc
問題はソフトウェアに関係ない可能性が高いようです。代わりにカスタムボードに関連付けられている場合もあります。同じテストを比較するために、S32K311デバイス付きの別の基板にアクセスできますか?
こんにちは、 @Finnc
私の側ではFRDM-A-S32K312とS32K31XEVB-Q100の両方でコードが正常に動作し、あなたの側もS32K312を使っているので、問題はソフトウェアに関係ない可能性があります。
あなたが説明した挙動からすると、これはハードウェアに関係している可能性があります。しかし、さらなる分析なしに正確な根本原因を特定することは困難である。S32K31XEVB-Q100の回路図やS32K3xx マイクロコントローラのハードウェア設計ガイドラインファイル(S32K3汎用ハードウェア設計パッケージに含まれる)を見て、カスタムボードを推奨設計方法と比較すると良いでしょう。
もし問題がMCU自体に関連している可能性があると思われる場合は、NXPの担当者または部品を購入した代理店にご連絡ください。
こんにちは、 @Finnc
元のプログラムを使用し、割り込みにLEDの点滅を追加しました。問題は解決しました。原因は、J-LinkプログラマのリセットピンがNTRSTに接続されていたことでした。これをSRSTに置き換えたところ、問題が解決し、プログラムは正常に実行されました。この2つのピンの違いは何ですか?SRSTに接続する必要があるのでしょうか?すべてのチップでこのピン接続が必要なのでしょうか?
Finnc_0-1782354621923.png