AnsweredAssumed Answered

K82: QSPI writing to flash memory small chunks

Question asked by Eugene Hiihtaja on Jul 29, 2019
Latest reply on Aug 1, 2019 by Jing Pan

Hello !


I have taken qspi_edma transfer example for FRDMK82 board from latest SDK and it work fine.


By default it write PAGE_SIZE data chunks to flash memory but I need smaller once.


I have modified  function program_page for support smaller chunks of data :


/* Program data into serial flash using QSPI polling way */
void program_page(uint32_t dest_addr, uint32_t *src_addr, size_t size)
qspi_transfer_t xfer = {0}; = (uint32_t *)src_addr;
xfer.dataSize = size; //FLASH_PAGE_SIZE; //
while (QSPI_GetStatusFlags(EXAMPLE_QSPI) & kQSPI_Busy)

QSPI_SetIPCommandAddress(EXAMPLE_QSPI, dest_addr);



and it work fine with 32 byte chunks ( and bigger once ).


But not with 16 bytes long.


What can be problem ?

Can it be some QSPI Fifo size limitations or someting else ?


I think used NOR flash memory ( MX25U3235F ) supports writes from 1 byte up to page size long.


I should be able to fill sector by using 4,8 and 16 byte long chunks.


Could you advice what is QSPI controller limitations for read/write operations ?