/* param base FlexCAN peripheral base address. param handle Pointer to flexcan_edma_handle_t structure. param pFifoXfer FlexCAN Rx FIFO EDMA transfer structure, see #flexcan_fifo_transfer_t. retval kStatus_Success if succeed, others failed. retval kStatus_FLEXCAN_RxFifoBusy Previous transfer ongoing.  */
status_t FLEXCAN_TransferReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle, flexcan_fifo_transfer_t *pFifoXfer)
/* param base FlexCAN peripheral base address. param handle Pointer to flexcan_edma_handle_t structure. param pFifoXfer FlexCAN Rx FIFO EDMA transfer structure, see #flexcan_fifo_transfer_t. retval kStatus_Success if succeed, others failed. retval kStatus_FLEXCAN_RxFifoBusy Previous transfer ongoing.  */
status_t FLEXCAN_TransferReceiveFifoEDMA(CAN_Type *base, flexcan_edma_handle_t *handle, flexcan_fifo_transfer_t *pFifoXfer)
{
    assert(NULL != handle->rxFifoEdmaHandle);
    edma_transfer_config_t dmaXferConfig;
    status_t status;
    FLEXCAN_PrepareTransfConfiguration(base, pFifoXfer, &dmaXferConfig);
    status = FLEXCAN_StartTransferDatafromRxFIFO(base, handle, &dmaXferConfig);
    return status;
}