/* Once a read transaction is completed and the FIFO drained, another transaction can be started from the next address by calling this function again. */
void EPINonBlockingReadStart(uint32_t ui32Base, uint32_t ui32Channel, uint32_t ui32Count)
/* Once a read transaction is completed and the FIFO drained, another transaction can be started from the next address by calling this function again. */
void EPINonBlockingReadStart(uint32_t ui32Base, uint32_t ui32Channel, uint32_t ui32Count)
{
    uint32_t ui32Offset;
    ASSERT(ui32Base == EPI0_BASE);
    ASSERT(ui32Channel < 2);
    ASSERT(ui32Count < 4096);
    ui32Offset = ui32Channel * (EPI_O_RPSTD1 - EPI_O_RPSTD0);
    HWREG(ui32Base + EPI_O_RPSTD0 + ui32Offset) = ui32Count;
}