Este problema pode ser visto no Software Quartus® Prime Pro Edition versão 22.1 ao escrever memória flash Micron QSPI usando as APIs HAL da interface Flash serial genérica FPGA IP (IP GSFI).
A API HAL para o GSFI IP está disponível nos seguintes arquivos de software:
• intel_generic_serial_flash_interface_top.h
• intel_generic_serial_flash_interface_top.c
Isso ocorre devido a um código de votação inadequado na API intel_gsfi_write_block para o dispositivo flash QSPI Micron. Outros flashes suportados não são afetados por isso.
Para contornar isso, siga estas etapas:
- Localize a pasta drivers/src no projeto do pacote de suporte da placa (BSP).
- Pesquise pelo arquivo de software intel_generic_serial_flash_interface_top.c .
- Pesquisar pela API intel_gsfi_write_block().
- Modifique a API de CMD_STATUS_REGISTER para CMD_FLAG_STATUS_REGISTER.
Exemplo:
Linha 1244: cmd = (CMD_FLAG_STATUS_REGISTER << 8) | CMD_QUAD_INPUT_FAST_PROGRAM);
Linha 1255: cmd = (CMD_FLAG_STATUS_REGISTER << 8) | CMD_PAGE_PROGRAM);
Nota: a regeneração do BSP redefine as APIs HAL para seu estado original.
Este problema está programado para ser resolvido em uma versão futura do Software Quartus® Prime.