我使用的是am335x,使用的是uboot是TI官网的SDK6.0开发包,我做的功能是在uboot阶段,通过SD卡烧写nand flash,并实时通过串口打印烧写的百分比。
现在的问题是,当nand flash有坏块时,假如要烧写50M的大少到nand flash里面,就会多次调用nand_write()函数,每调用一次nand_write()烧写131072个字节,假如没有坏块的话,就只调用一次nand_write()就将50M大少烧完,请问这是什么原因?
我是想在烧写的过程中实时显示烧写进度百分比,请问在有坏块的情况下,怎么确定烧写的百分比?
Yaoming Qin:
我觉得比较奇怪的是,代码怎么先知道有没有坏块,再来调用。应该是边写边判断坏块的吧。
Jian Zhou:
回复 Yaoming Qin:
如果有坏快的话,肯定是有不同的烧写机制的,比如登记坏块表,重新分配烧写地址等等,和正常烧写肯定不一样的。
问一下你们的NAND 坏快很多么?一般刚出厂的NAND坏块不超过3个。