This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA3:NOR 闪存写入失败

Guru**** 2562120 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/626805/tda3-nor-flash-write-failed

器件型号:TDA3

大家好、我是 Lee。

我们的系统使用了 Micron 的两个 NOR 闪存"M29W256GH"和"MT28EW512ABA1"。

1.“M29W256GH ”=>密度:256MB,缓冲区大小64字节,数据总线 x16

2."MT28EW512ABA1" =>密度:512MB,缓冲区大小:512字(x16模式),数据总线 x16

当我们使用"M29W256GH" NOR 闪存时、写入结果成功。

但是、当我们使用"MT28EW512ABA1"时、我们可以在下面找到故障日志。

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

正在将0x16648字节写入 NOR ...
数据验证失败。

缓冲写入失败@地址0x8e0466d7
正在尝试正常写入
发生超时。

正常写入也失败
NOR 写入失败...正在中止!
 错误:写入或失败。
 NOR 闪烁失败!

====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

通过分析、

当 buffersize 使用一半的 NorInfo 时、

写入结果成功。  (hNorInfo->buffersize = hNorInfo->buffersize / 2;)

"MT28EW512ABA1"具有512字(1024字节)缓冲器大小。

1. 512字(1024byte) buffersize => 失败

2.256字(512byte) buffersize => 成功

我真的不知道问题是什么。

如何解决 或如何调试此问题?

如果您知道该解决方案、请告诉我。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Lee、

    您能再多说几句吗? 您的硬件设置是什么?

    -两个存储器是否同时安装在 PCB 上? 或者它们是可互换的?

    -您是在一个板上还是在每个板上观察到问题?

    -如何刷写内存? - JTAG -或 在 SoC 上运行的闪存器。 主机 PC 的接口是什么? USB 等?

    -内存时钟速度和内存时序参数也会有所帮助。

    此致、

    STAN

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Stan、

    感谢您的回复。
    下面是您的答案。

    -两个存储器是否同时安装在 PCB 上? 或者它们是可互换的?
    => Lee)我们在同一硬件上有两个 PCB 类型(Rev01、Rev02)。 它与 NOR Flash Memmory 不同。
    Rev01 PCB 安装了"M29W256GH" NOR 闪存。
    Rev02 PCB 安装了"MT28EW512ABA1" NOR 闪存。


    -您是在一个板上还是在每个板上观察到问题?
    => Lee)使用 Rev02在每个电路板上观察问题。
    但是、在 Rev01中、该问题从未出现。


    -如何刷写内存? - JTAG -或在 SoC 上运行的闪存器。 主机 PC 的接口是什么? USB 等?
    => Lee)我们使用"Spectrum Digital XDS560V2 STM USB" JTAG。
    我们使用 CCS7的控制台命令并使用"NOR_FLASH_writer_M4_debug.xem4"文件。


    -内存时钟速度和内存时序参数也会有所帮助。
    =>我在 Rev01中将默认参数与 TI 参考一起使用。
    Rev02也使用相同的参数。

    (C:\vision_sdk_02_11_00_00\ti_components \drivers\starterware_01_07_00_19\tools\flashtools\nor_flash_writer\src\norwriter.c)

    (C:\vision_sdk_02_11_00_00\ti_components \drivers\starterware_01_07_00_19\norflashlib\src\nor.c)


    GPMC_Config_t GPMC_ConfigNorDefault ={
    /* SysConfig - ROM 代码默认值*/
    0x0、/* 0x0008、*/
    /* IRQEnable - ROM Code defaults */
    0x0000、
    /* TimeOutControl - ROM 代码默认值*/
    0xf01f0000U、
    /*配置- ROM 代码默认值*/
    0x000a0000、

    0x41041010、
    0x001E1C01、
    0x00000000、
    0x0F071C03、
    0x041B1F1F、
    0x8F070000U、
    0x00000C08、
    }、
    /* PrefetchConfig1 */
    0x0、
    /* PrefetchConfig2 */
    0x0、
    /* PrefetchConfig3 */
    0x0、
    };

    如果您需要有关 NOR 闪存的更多信息、请告诉我。


    此致、

    Lee

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lee、

    这可能是一个愚蠢的错误,比如,你认为 buffersize 是用字表示的,但实际上它可以用字节表示。 通过除以2、您可以解决此错误。 如果您完全确定要设置正确的值(不带/2)、请参阅步骤2。

    2.我已经查看了 Micron 的数据表。 这两个存储器来自不同的系列、差异不是很容易理解。 但我认为:

    a) M29W256GH 具有

    •增强型缓冲程序命令:256字

    •快速程序命令:32字(64字节)写入缓冲器

    b) MT28EW512ABA1具有

    •缓冲器程序(512字程序缓冲器)
    –使用完整缓冲程序时为2.0Mb/s (典型值)
    –使用加速缓冲程序(VHH)时为2.5Mb/s (典型值)

    这意味着、如果您使用的是 MT28EW512ABA1加速缓冲器程序(VHH = 9V)、则可能无法使用全缓冲器(512)(类似于快速程序中的 M29W256GH 缓冲器)

    遗憾的是、该规格并不是100%清晰(至少我无法理解)、因此最好联系 Micron。

    此致、

    STAN