#include typedef struct { uint32_t dr : 32; // 0 Data register bits } reg_crc_dr_t; typedef struct { uint32_t idr : 32; // 0 General-purpose 8-bit data register bits } reg_crc_idr_t; typedef struct { uint32_t reset : 1; // 0 RESET bit uint32_t reserve0 : 2; // 1 Reserve uint32_t polysize : 2; // 3 Polynomial size uint32_t rev_in : 2; // 5 Reverse input data uint32_t rev_out : 1; // 7 Reverse output data uint32_t reserve1 : 24; // 8 Reserve } reg_crc_cr_t; typedef struct { uint32_t crc_init : 32; // 0 Programmable initial CRC value } reg_crc_init_t; typedef struct { uint32_t pol : 32; // 0 Programmable polynomial } reg_crc_pol_t; typedef struct { volatile reg_crc_dr_t dr; volatile reg_crc_idr_t idr; volatile reg_crc_cr_t cr; volatile uint32_t reserve0[1]; volatile reg_crc_init_t init; volatile reg_crc_pol_t pol; } reg_crc_t;