Freescale i.MX508内部集成了BCH模块。
BCH的介绍
GF域
GF(14)可以计算<=1900bytes数据(所以,1024bytes采用GF14)
GF(13)可以计算<=900bytes数据(所以,512bytes采用GF13)
纠错能力t,可以为2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 或32-bit
纠错数据长度是纠错能力t*GF值bit个。也就是GF14是14*t bit,GF13是13*t bit,
代码
freescale gpmi 代码使用的是均衡存储数据,但不均衡ECC数据位的方式。
也就是Figure14.3中第二种排列
纠错能力ecc_strength的选择
freescale gpmi 代码ecc_strength取8,16,24是为了数据可以byte对齐。