您好!
我们向客户提供的设备存在一些问题。 一些客户已退回器件并投诉器件出现故障。
我们的器件设置为 AM437处理器。 处理器从外部原始 NAND 闪存引导。 该板是定制板 、与 TI AM437评估板非常相似。 我们的应用基于 TI RTOS 内核 SDK。 此外、我们使用 TI PDK Starterware SBL、还在生产线上使用 Starterware 刷写实用程序来刷写外部 NAND。
进一步的测试表明、我们在 NAND 闪存中有位翻转。 我不明白为什么 NAND 中存在位翻转。 在我看来、由于采用 ECC、引导加载程序应该在读取应用程序映像的 NAND 页面时纠正这些1位错误。 我不知道为什么这对我们不起作用。 我知道位翻转的不同原因以及坏块和位错误的含义。
如前所述、我们使用 TI PDK verion 1.0.9 Starterware 中的引导加载程序。 我们还使用 TI 闪存和引导实用程序在生产线上(也是同一 PDK 版本)刷写 NAND。 我们希望坏的块管理和 ECC 机制将由该软件组件"开箱即用"工作。 是这样吗? 但似乎没有使用 ECC 校正。
您能否详细解释一下错误的块管理和 ECC 机制如何在 SBL 和刷写实用程序 TI Starterware 组件内工作?
此外、我对闪存实用程序有点困惑。 在对 nandwriter 源代码进行代码检查后、我假设 NAND 供应商坏块信息不会由源代码评估、并且使用的页面将最初被擦除、这会导致 不可逆转地删除 NAND 供应商坏块信息。 此行为与 NAND 供应商关于初始坏块处理的建议不符。 因此、我们无法保证也使用 NAND 供应商标记为坏块的块。 我的假设是否正确、闪存实用程序的这种行为是否适用? 如果是、原因是什么? 此外、我不确定 TI 闪存实用程序是否是一种用于量产系列的工具。 您能否确认编程线路中的用法是否也适用? 还是在生产线上使用其他刷写实用程序更好?
您是否知道 ECC 校正为何对我们不起作用?


