/* Send words out from source data buffer and get returned datas into destination data buffer.  */
void QspiSendAndGetWords(uint32_t *pSrcData, uint32_t *pDstData, uint32_t cnt)
/* Send words out from source data buffer and get returned datas into destination data buffer.  */
void QspiSendAndGetWords(uint32_t *pSrcData, uint32_t *pDstData, uint32_t cnt)
{
    uint32_t num = 0;
    uint32_t timeout = 0;
    while (num < cnt)
    {
        QspiSendWord(*(pSrcData++));
        num++;
    }
    while (!GetQspiRxHaveDataStatus())
    {
        if (++timeout >= QSPI_TIME_OUT_CNT)
        {
            break;
        }
    }
    timeout = 0;
    while (QSPI->RXFN < cnt)
    {
        if (++timeout >= QSPI_TIME_OUT_CNT)
        {
            break;
        }
    }
    num = 0;
    while (num < cnt)
    {
        *(pDstData++) = QspiReadWord();
        num++;
    }
}