/* Starts checksum computation. 
Configures the CRC module for the specified CRC protocol.  */
static void CRC_ConfigureAndStart(CRC_Type *base, const crc_module_config_t *config)
/* Starts checksum computation. 
Configures the CRC module for the specified CRC protocol.  */
static void CRC_ConfigureAndStart(CRC_Type *base, const crc_module_config_t *config)
{
    uint32_t crcControl;
    crcControl = 0U | CRC_CTRL_TOT(config->writeTranspose) | CRC_CTRL_TOTR(config->readTranspose) |
                 CRC_CTRL_FXOR(config->complementChecksum) | CRC_CTRL_TCRC(config->crcBits);
    base->CTRL = crcControl;
    base->GPOLY = config->polynomial;
    base->CTRL = crcControl | CRC_CTRL_WAS(true);
    base->DATA = config->seed;
    base->CTRL = crcControl;
}