/* Please consult the Tiva data sheet for a table showing all the possible peripheral assignments for the uDMA channels for a particular device. */
void uDMAChannelAssign(uint32_t ui32Mapping)
/* Please consult the Tiva data sheet for a table showing all the possible peripheral assignments for the uDMA channels for a particular device. */
void uDMAChannelAssign(uint32_t ui32Mapping)
{
    uint32_t ui32MapReg;
    uint_fast8_t ui8MapShift;
    uint_fast8_t ui8ChannelNum;
    ASSERT((ui32Mapping & 0xffffff00) < 0x00090000);
    ui8ChannelNum = ui32Mapping & 0xff;
    ui32Mapping = ui32Mapping >> 16;
    ui32MapReg = UDMA_CHMAP0 + (uint32_t)((ui8ChannelNum / 8) * 4);
    ui8MapShift = (ui8ChannelNum % 8) * 4;
    HWREG(ui32MapReg) = (HWREG(ui32MapReg) & ~(0xf << ui8MapShift)) |
                        ui32Mapping << ui8MapShift;
}