EB を使用して MEM と FLS を設定し、EB が提供する公式デモを実行して 8192 のデータ ポイントを書き込むと、コードを実行した後、読み取りおよび送信データの検証が失敗します。メモリを通じてフラッシュの内容を観察すると、rxBuffer にエラーがあり、フラッシュに書き込まれたデータも間違っていることがわかります。
こんにちは@TWL 、
アドレスの MPU 領域でキャッシュが有効になっていますか?
プロジェクトの起動時に MPU を無効にして再度テストCANますか?
よろしくお願いいたします。
ダニエル
こんにちは! @danielmartynek
あなたが言及した関数をチェックしたところ、その戻り値はすべて「ok」ですが、ExampleCheckData を実行すると戻り値は false になります。操作対象のセクターを変更しましたが、現在は 0x10002000 です。メモリを確認すると、0x10003600 の値は 0xff ですが、対応する txbuffer の値は 0 であるSO、txbuffer と rxbuffer 間のチェックは false を返します。
こんにちは@TWL 、
main.c を確認したところ、MemAcc API からのステータス エラーがチェックされていないことに気付きました。
コードは操作が保留中の間ループするだけですが、エラー状態は処理されないようです。
MemAcc_Erase()、MemAcc_BlankCheck()、または MemAcc_Write() の呼び出しの MemAcc_GetJobStatus() によってエラー コードが返されるかCAN確認できますか?
よろしくお願いいたします。
ダニエル
こんにちは@TWL 、
プログラミング前にセクターが消去されているかどうかを確認してください。
また、どの S32K3xx デバイスを使用していますか? また、現在使用されている RTD ドライバのバージョンは何ですか?
調査を進めるために、.xdmファイルを共有してください。Tresos 設定のファイルと main.cFLS 関連のすべての関数呼び出しを含むファイル。
よろしくお願いいたします。
ダニエル