我在 SLC NAND 上有一个带有 u-boot 和 UBIFS 分区的工作系统。
我通过读取它占用的整个块范围(包括备用区域)将 UBIFS 分区复制到二进制映像文件中。
我可以成功地将此映像编程到另一个 NAND 设备(跳过空白页)并挂载它,从而复制分区。但是,如果新的 NAND 设备中有坏块,我不知道正确的操作是什么?
当我尝试跳过坏块(在编程期间)时,这似乎是最合理的解决方案,从 u-boot 挂载失败!UBIFS 挂载过程不能识别一个坏块被跳过了吗?还有其他简单的解决方案吗?
找到了工作方法!
这样做的全部目的是找到一个简单的算法来编程 NAND 闪存部件,然后再将其焊接到电路板上。
这是由编程机器在大规模生产期间完成的,没有办法使用 Linux 来做到这一点。由于NAND部分是新的,不需要磨损均衡信息,但是它可能有0到任意数量的坏块,随机分布在分区区域。唯一可用的步骤是:
使用 mkfs 和其他工具准备 UBIFS 是可能的,但是您需要添加 ECC 信息,编程机器可能无法即时计算,有时只是不具备相关知识。
希望对任何人都有帮助:-)