S32K358 eMIOS ISRが85℃で停止親愛なるNXPサポートチームへ、
S32K358において、約85℃の温度試験中に問題が発生しています。
私たちのアプリケーションでは6つのeMIOSチャネルを使用し、それぞれが200Hzの周波数で両方のPWMエッジで割り込みを生成するように設定されています。
85°Cでは、MCUが時々1つのeMIOS ISR内に閉じ込められることがあります。ISRは終了しません。コードがeMIOSレジスタを読み取り割り込みフラグを確認するためですが、フラグは0(ファイルEmios_Mcl_Ip_Irq.c)です
もし (0U != ((Emios_Ip_paxBase[インスタンス]->CH.UC[チャネル]。S) & (uint32)eMIOS_S_FLAG_MASK))
デバッグの結果、問題が発生するとeMIOSのベースアドレスを含む変数がNULL(Emios_Ip_paxBase)であることに気づきました。アプリケーションが正しく動作すれば、同じポインタが有効で、eMIOSレジスタも正しく読み込まれます。
ある条件下では、ISR実行中にeMIOSペリフェラルへの参照が破損またはクリアされているようです。
スタックオーバーフロー、メモリ破損、同時アクセス、ISR処理、温度関連の挙動など、既知の問題や根本原因について何か兆候はありますか?
よろしくお願いいたします。
サイモン
Re: S32K358 eMIOS ISR stuck at 85°Cこんにちは、ベインさん。
現在、RTD 7.0.0を使用しています。Re: S32K358 eMIOS ISR stuck at 85°Cこんにちは、 @simon98さん
どのRTDバージョンを使用していますか?追加情報があれば助かります。
また、RTD バージョン 6.0.0 より前のバージョンでは、関数スコープ内の静的変数のメモリ マッピングが正しくないことに関連する既知の問題がありました (ARTD-159985)。
この問題は、Emios_Mcl_Ip.c で定義されている変数 Emios_Ip_paxBase に関する問題です。また、Emios_Mcl_Ip_Irq.c には、一貫性のない初期化特性が割り当てられています。詳細はソフトウェアリリースノートに記載されています。
BR、VaneB
Re: S32K358 eMIOS ISR stuck at 85°Cこんにちは、 @simon98さん
観察された挙動を再現できる簡単なアプリケーションを教えていただけますか?また、カスタムボードを使っているのか評価ボードなのか確認してもらえますか?
さらに、問題が85°Cで発生していることを確認するための検査方法について教えていただけますか?