こんにちは、
エラー報告モジュールから診断データを読み取るためのドライバを作成中です。
メモリ 10に対応するERM ステータス レジスタ 1 が、シングル ビット訂正イベント情報と訂正不可能なエラー イベント情報を継続的に検出していることに気付きました。
その結果、エラー カウンター CORR_ERR_CNT10 はすぐに 0xFF に達し、EAR10 と SYN10 の両方が何らかのエラーを確認しているように見えます (下の画像を参照してください)。
これは、この動作によって影響を受ける唯一のメモリ領域です。SBC10 フィールドと NCE10 フィールドをクリアしようとすると、ほぼ即座に NCE10 ビットが反転し、その後 10 ミリ秒以内に SBC10 ビットが反転します。これは、エラー イベント情報の一貫した修正と通知を示します。
このモジュールを初期化するための現在のアプローチは、すべてのステータス レポート フィールドをクリアし、ECC エラーに関する割り込みベースの通知を使用しないことです。システムの電源投入時にステータス レポート レジスタをクリアしようとしない場合も、同じ動作が発生します。
いくつか質問があります
ECC Error - Cortex-M7_0 ITCM.png
こんにちは@fede_ls 、
ECC 初期化はデバイス固有であるため、デフォルトの起動コードには含まれません。対象ハードウェアの要件に従って ECC セットアップを実装するのは開発者の責任です。重要なのは、メモリ上で読み取り操作を実行する前に、ECC を適切に初期化する必要があることです。
こんにちは、ダニエル。
スタートアップ コード (ITCM_Init セクションの startup_cm7.s) で ITCM が適切に初期化されているかどうかを確認してください。
デフォルトの S32DS CMSIS コアデバイス スタートアップ ファイルstartup_ARMCM7.c を使用しています。標準の .c ファイルをこの返信に添付します。
「 Example_Siul2_Port_Ip_Example_S32K344_ITCM_DTCM_S32DS3.4 RTD300.zip」をチェックして、それがどのようなものかを把握しました (今後のFUTUREのために、以下のスクリーンショットに示されています)。
fede_ls_0-1753869362851.png
ITCM と DTCM は、RTD 以外の起動ファイルではデフォルトで初期化されないということですか?
SCB->ITCMCR で ITCM が実際に有効になっていることを確認し、起動時に無効化->再有効化を試みました。
アドレス 0x508 でエラーが検出されたことに気付きました。
.mapのそのアドレスにどんなコードがあるのかCAN確認できますか?ファイル?
fede_ls_1-1753870680244.png
本物の ECC エラーを除外CAN場合、問題はシステム クロックの構成に関連している可能性があります。
システム クロック設定がクロック オプションで指定された分周比に準拠していない場合、NXP は適切な MCU 機能を保証しません。
たとえば、表 157、オプション A – 高パフォーマンス モード (CORE_CLK @ 160 MHz) を参照してください。
現在、クロックをオプション A に正常に構成し、その構成が実際に適用されていることを確認しました。
こんにちは@fede_ls 、
ご確認ありがとうございます。
スタートアップ コード (ITCM_Init セクションの startup_cm7.s) で ITCM が適切に初期化されているかどうかを確認してください。
アドレス 0x508 でエラーが検出されたことに気付きました。
.mapのそのアドレスにどんなコードがあるのかCAN確認できますか?ファイル?
ITCM は、メモリへの 64 ビット書き込みによっていつでも再初期化 CAN ことに注意してください。
したがって、読み取りエラーが発生した場合でも、ITCM を再初期化することで解決できる可能性があります。
本物の ECC エラーを除外CAN場合、問題はシステム クロックの構成に関連している可能性があります。
システム クロック設定がクロック オプションで指定された分周比に準拠していない場合、NXP は適切な MCU 機能を保証しません。
たとえば、表 157、オプション A – 高パフォーマンス モード (CORE_CLK @ 160 MHz) を参照してください。
信頼性の高い動作を確保するために、定義済みのクロック オプションのみを指定されたとおりに使用することを強くお勧めします。
よろしくお願いいたします。
ダニエル
こんにちは@fede_ls 、
念のため、PRTN1_COFB0_STAT[BLOCK23]は実行されていますか?