English
Language : 

AT91SAM9G25-CU Datasheet, PDF (334/1102 Pages) ATMEL Corporation – AT91SAM ARM-based Embbedded MPU
delta[i+1] = (mu[i+1] * 2 - lmu[i+1]) >> 1;
/* In either case compute the discrepancy */
for (k = 0 ; k <= (lmu[i+1]>>1); k++)
{
if (k == 0)
dmu[i+1] = si[2*(i-1)+3];
/* check if one operand of the multiplier is null, its
index is -1 */
else if (smu[i+1][k] && si[2*(i-1)+3-k])
dmu[i+1] = gf_antilog[(gf_log[smu[i+1][k]] +
gf_log[si[2*(i-1)+3-k]])%nn] ^ dmu[i+1];
}
}
return 0;
}
27.5.3 Find the Error Position
The output of the get_sigma() procedure is a polynomial stored in the smu[NB_ERROR+1][] table.
The error position is the roots of that polynomial. The degree of this polynomial is very important
information, as it gives the number of errors. The PMERRLOC module provides a hardware
accelerator for this step.
SAM9G25 [DATASHEET]
11032C–ATARM–25-Jan-13
334