Reed-Solomon CRC
248 T10000: Interface Reference Manual August 2016
uint32_t i;
const uint8_t* d = start;
for ( i = 0; i < cnt; i++ )
{
crc = (crc << 8) ^ crcTable[*d ^ (crc >> 24)];
d++;
}
return crc;
}
/*****************************************/
/* Sample Reed Solomon Program */
/*****************************************/
#define FICON
#define INIT 0x00000000
int main(void)
{
uint32_t crc;
uint32_t cnt;
uint32_t blk_len;
uint8_t *blk_adr;
uint8_t test_data[]=
{
#ifdef FICON
/* Test data, expected CRC is 0x61A56001 */
0xC8, 0xC4, 0xD9, 0xF1,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0
#else