Other Parts Discussed in Thread: AM623, AM625-Q1, AM620-Q1
器件型号: AM625-Q1
主题中讨论的其他器件: AM623、 AM620-Q1
您好 TI 支持团队:
如您所知、NAND 闪存存储器供应商近期存在供应链短缺问题。
因此、我们的项目现在需要使用相同的软件灵活地支持多个 NAND 闪存版本、而无需重新编译每个芯片的静态二进制文件。
我们当前版本的 SDK (SDK 10.00.00 ) 预构建了静态配置,无法满足我们当前的需求。 首先、我们想问是否有能够实现此功能的较新版本的 SDK。
关于我们当前的 SDK、我们可能需要一个补丁来启用此功能。 我们将提出一个设计、希望与您讨论、以便在运行时使用检测连接的与非门芯片 ONFI 读取参数页面 (ECh) 命令。
我们建议的设计流程:
-
使用保守默认配置初始化 NAND。
-
问题 A 复位 (FFh) 作为第一个操作、因为某些供应商限制需要它。
-
发布 读取参数页面 (ECh) 具有 00h 地址周期的命令。
- 解析 256 字节参数复制并映射其数据、以根据这些结果在运行时重新配置 NAND 属性。
- 使用真实配置写入寄存器。
- 通常将 NAND 用作读取/写入命令。

- ROM 代码支持: 我们 SoC 的当前 ROM 代码是否在初始启动阶段具有用于“ NAND 自动检测“的内置机制?
如果是、 它是基于 我们建议的类似设计、还是有更好的方法?
如果没有、您对此主题的建议是什么? 因为它会阻碍我们。
- 建议的设计: 您在建议的设计理念中看到了缺陷吗?
使用默认配置启动 NAND 然后 在运行时重新配置 NAND 是否安全? 如果是、默认配置可以是什么? 尤其是时序参数。 - GPMC 时序参数: 我们已经观察到
.timingParamsgGpmcAttrs[]内的数组中的结构ti_drivers_config.c。 这些参数(例如,,,)是否csRdOffTimerdAccessTimeweOnTime要求使用每个 NAND 芯片的值都是唯一的?
如果时序必须变化、TI 建议 数据表中提到的标准 NAND 时序特性与 syscfg 工具生成的配置数组中的特定 GPMC 变量之间的官方映射是什么? - ECh 命令: ECh 命令的正确实现序列是什么?
作为概念的证明,我们尝试了两个序列,但两个都给出了相同的 结果不正确 (命令返回成功,但数据错误)
第 1 次试验序列:
-使用列地址 0x00 和 params.checkReadypin = FALSE 发送 ECh 命令
-发送读取状态命令 70h
-发送读取模式命令 00h 以启用数据输出模式
-使用 API GPMC_NandReadData() 获取数据
第 2 次试验序列:
- 使用列地址 0x00 和 params.checkReadypin = FALSE 发送 ECh 命令
-等待延迟(超过读取页面时间)
-使用 API GPMC_NandReadData() 直接获取数据
我们期待您提供指导、说明这种动态方法是否能够与 GPMC 驱动程序架构和引导序列兼容、并在需要补丁时提供代码示例。
提前感谢、
