こんにちは、
私はNXP i.MXRT1064 EVKに取り組んでおり、内部 ADCを使用してオーディオ ノイズ センサの出力を読み取っています。
ADCピン: GPIO_AD_B1_02 (ADC1チャネル/ADC1_IN7)
プログラムはほとんどの場合正常に動作しますが、予期しないタイミングでランダムに BusFault/HardFault が発生します(添付のスクリーンショットを確認してください)。障害は一定の時点で発生しないため、再現が困難です。この障害はなぜ発生するのか、またこの障害を解決するにはどうすればよいでしょうか。
こんにちは@Subhasri 、
弊社の製品にご興味をお持ちいただき、またコミュニティをご利用いただき誠にありがとうございます。
提供された情報に基づいて、BusFault/HardFault の正確な根本原因を特定することは困難です。
以下の点を確認することをお勧めします。
1: メモリとスタックの使用量
スタック オーバーフローまたは範囲外のメモリ アクセスがあるかどうかを確認します。
2:キャッシュとDMAの一貫性
ADC を DMA で使用する場合は、DMA バッファがキャッシュ不可能なメモリに割り当てられていることを確認してください (たとえば、AT_NONCACHEABLE_SECTION_ALIGN を使用)。
3:最小限のテストケースを使用して問題を切り分ける
アプリケーション コードの一部を一時的に無効にして、段階的に確認してみることをお勧めします。
たとえば、オーディオ ノイズ センサのみを読み取るか、内部 ADC 出力を使用するかして、問題が再現できるかどうかを確認します。
よろしくお願いいたします。
メイリュー