ハードウェア: imxrt1052 + is25lp064 (コードフラッシュ)
現在、ROMAPIの使用をテストしています。`erase_sector`を呼び出すと0が返されます。その後、書き込みを試みると、再起動の影響か、前のブレークポイント(`erase_sector`)で停止してしまうようです。様々なトラブルシューティングと設定を試みましたが、失敗しました。現時点では、この問題を解決するための方法がわからず、フラッシュの設定の問題なのかソフトウェアの問題なのかも不明です。テスト中に、`flash_test`関数(添付)を実行しました。テスト領域とテストプログラムの実行領域はどちらもコードフラッシュ上にありますが、重複していません。
SDKパッケージ内のromapiサンプルを参考に、読み込みと書き込みは問題なく動作しました。しかし、romapiを初期化した後に再度初期化しようとするとエラーが発生し、deinitインターフェースが提供されていないため、信頼性が低いようです。別のアプローチを試してみようと思います。
こんにちは@ccc_clive 、
問題はキャッシュに起因している可能性があります。フラッシュ消去コードにキャッシュ無効化操作が含まれているかどうかを確認してください。
SDKデモ「evkbimxrt1050_flexspi_nor_polling_transfer」の「flexspi_nor_flash_erase_sector」関数を参照してください。
よろしくお願いします
メイリュー
こんにちは@ccc_clive 、
NXP製品にご興味をお持ちいただきありがとうございます。喜んでお手伝いさせていただきます。
AN12564 に記載されているように、フラッシュ書き込み機能を他のメモリ (通常は内部 SRAM に割り当てられている、現在書き込み中のフラッシュ以外のメモリ) に割り当てる必要があります。
したがって、「evkbimxrt1050_flexspi_nor_polling_transfer」の例を参照することをお勧めします。
よろしくお願いします
メイリュー