主题中讨论的其他器件: FLASHTOOL
我们将 AM3517 CPU 与定制板上 Micron 的4Gb x16 NAND 闪存(MT29F4G16)配合使用。 为了将映像刷写到该存储器中、我们使用的是 TI 闪存工具(v1.6)。 这正常工作、闪存工具会正确检测到 NAND 闪存并进行相应编程。 这是 ONFI 检测迹线的一部分:
»发送数据(41008字节)::::::::::::::: [41008] 接口'OMAPFLASH 驱动程序 v5" 驱动程序'NAND ONFI 16/8位' 驱动程序配置:GPMC = 0x6E000000 驱动程序配置:CS = 0x00000000 驱动程序配置:地址= 0x30000000 驱动程序配置:bberase = 0x00000000 NAND HW ECC NAND BCH Mode = 0 NAND HWECC offset = 2、 大小= 12 NAND ONFIv2供应商0x2C micron NAND 16位器件0xBC MT29F4G16ABBDAHC NAND 周期0x23 (3行、2列) NAND 2048字节/页(备件64) NAND 64页/块(131072字节/块) NAND 块/单元(536870912字节/单元) NAND 4位(S) ECC 要求 NAND 512 MB 总大小 NAND ONFI 驱动程序初始化完成 »下载完成 »经过时间:0:00.480 (85433字节/秒)
现在、这款 Micron 闪存已经过时、我们正在寻找替代组件。 可能的备选方案之一是 Cypress/Spansion 的 NAND 闪存(S34MS04G2)。 但问题从这里开始:闪存工具未正确检测到该 NAND 闪存的页大小、备件和总大小。 这是尝试使用 Cypress/Spansion NAND 闪存刷写电路板时的布线:
»发送数据(40768字节):::::::::::::::: [40768] 接口'OMAPFLASH 驱动程序 v5" 驱动程序'NAND ONFI 16/8位' 驱动程序配置:GPMC = 0x6E000000 驱动程序配置:CS = 0x00000000 驱动程序配置:地址= 0x30000000 驱动程序配置:bberase = 0x00000000 NAND HW ECC NAND BCH 模式= 0 NAND HWECC 偏移= 2、 大小= 12 NAND ONFIv2供应商0x01 Spanion NAND 16位器件0xBC S34MS04G2 NAND 周期0x23 (3行、2列) NAND -256字节/页(备用65408) NAND -192页/块(49152字节/块) NAND -256块/单元(-12582912字节/单元) 总共4位(S) »ECC NAND 下载40MB 失败 (最终数据响应错误):远程::驱动程序初始化错误0x000 00011 -初始化过程中的驱动程序页内存分配错误 »经过时间:0:00.438 (93077 bytes/s) »操作失败(远程:驱动程序初始化错误0x00000011- 初始化过程中的驱动程序页内存分配错误) »经过时间:0:00.000
闪存工具中包含的 NAND 闪存驱动程序(nand_ONFI_16bit_8bit.bin)似乎无法确定 Cypress/Spanion 闪存的正确大小。 Micron 和 Cypress/Spanion 闪存之间的唯一区别是备用区域(64字节与128字节)。 但是、NAND 驱动程序应该从闪存工具中检测到这一点、因为它由两个 NAND 闪存芯片都支持的 ONFI 规范定义。
是否知道 flashtool 中的 NAND 闪存驱动程序(nand_ONFI_16bit_8bit.bin)为何难以处理 Cypress/Spanion NAND 闪存?
此致、
布鲁诺