この問題は、Quartus® Prime 開発ソフトウェア・プロ・エディションのバージョン 22.1 で、汎用シリアル・フラッシュ・インターフェイス FPGA IP (GSFI IP) の HAL API を使用して Micron QSPI フラッシュメモリーを書き込む場合に発生することがあります。
GSFI IP 向けの HAL API は、以下のソフトウェア・ファイルで利用可能です。
• intel_generic_serial_flash_interface_top時間
• intel_generic_serial_flash_interface_top.C
これは、Micron QSPI フラッシュデバイス向け intel_gsfi_write_block() API のオペコードの不適切なポーリングが原因です。サポートされている他のフラッシュは、この影響を受けません。
この問題を回避するには、次の手順を実行します。
- ボード・サポート・パッケージ (BSP) プロジェクト内の drivers/src フォルダーを見つけます。
- intel_generic_serial_flash_interface_top.c ソフトウェア・ファイルを検索します。
- intel_gsfi_write_block() API を検索します。
- API を CMD_STATUS_REGISTER から CMD_FLAG_STATUS_REGISTER に変更します。
例:
行 1244 : cmd = ((CMD_FLAG_STATUS_REGISTER << 8) |CMD_QUAD_INPUT_FAST_PROGRAM);
行 1255 : cmd = ((CMD_FLAG_STATUS_REGISTER << 8) |CMD_PAGE_PROGRAM);
注: BSP を再生成すると、HAL API が元の状態にリセットされます。
この問題は、現在のところ、Quartus® Prime 開発ソフトウェアの今後のリリースで解決される予定です。