リセット後、s32k312は異常なHardFault_Handlerに入ります 使用されるチップは s32k312 で、コンパイラのバージョンは S32DS3.5 と RTD3.0 です。uds-boot の生成中に、いくつかの有効な情報がアドレス 0x0043E000 の pflash に固定されます。 sensen_1_0-1762236756459.png sensen_1_1-1762236817623.png sensen_1_2-1762236843789.png sensen_1_3-1762236858994.png ブートローダーをチップにプログラムし、ホストコンピューター経由でアプリ プログラムをフラッシュします。最初のフラッシュ後、内部ウォッチドッグ タイムアウト リセットを使用して、プログラムがアプリに正しく入力されることを確認CAN。ただし、アプリ内でプログラムが実行されているときに別のアプリのフラッシュ操作が実行されると、プログラムはリセット後に HardFault_Handler に入ります。設定に問題があるかどうか、または標準的な設定方法があるかどうかの確認にご協力ください。情報が p_flash に固定されず、後続の命令を通じて 0x0043E000 に書き込まれる限り、プログラムは正常にCAN実行します。 どうぞよろしくお願いいたします。 Re: After resetting, the s32k312 enters the HardFault_Handler abnormally RTD ドライバを使用していますか?
INFLS MCAL ドライバには、コードを SRAM に再配置できる機能が含まれています。
danielmartynek_0-1762249915732.png
C40_Ip ドライバを使用する場合は、次の例を参照してください。
https://community.nxp.com/t5/S32K-Knowledge-Base/S32K312-C40-Ip-SRAM-RTD-500-DS35/ta-p/2074245
よろしくお願いいたします。
ダニエル
Re: After resetting, the s32k312 enters the HardFault_Handler abnormally これらのコードは実際には同じブロック 0 領域、具体的には s32k312 のブロック 0 領域に格納されており、有効アドレスは 0x00400000 から 0x00500000 の範囲です。ただし、これらが修正されず、後でプログラム内の p_flash プログラミング操作を通じて書き込まれる場合、HardFault_Handler は表示されません。次のような感じです。 sensen_1_0-1762248268141.png Re: After resetting, the s32k312 enters the HardFault_Handler abnormally こんにちは@sensen_1さん、
これは、フラッシュ ブロックでの RWW (Read-While-Write) 衝突が原因であると考えられます。 実行されるコードは、現在プログラム中のフラッシュ ブロック内に存在してはなりません。 これが問題かどうかCAN確認できますか?
よろしくお願いいたします。
ダニエル
查看全文