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 Flash write failed

Part Number: TDA3

Hello, I'm Lee.

Our system using the two NOR Flash "M29W256GH" and "MT28EW512ABA1" of Micron.

1. "M29W256GH"  ==> Density : 256Mb, buffer size 64-byte, Data bus x16

2. "MT28EW512ABA1"  ==> Density : 512Mb, buffer size 512-word(x16 mode), Data bus x16

When we use the "M29W256GH" NOR Flash, the write result is successful.

But, When we use the "MT28EW512ABA1", we can find below fail log.

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

Writing 0x16648bytes to NOR...
Data verify failed.

Buffered write failed @ address 0x8e0466d7
Trying normal write
Timeout ocurred.

Normal write also failed
NOR Write Failed...Aborting!
 ERROR: Writing NOR failed.
 NOR flashing failed!

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

As a result of analysis,

when the bufferSize use half of NorInfo,

the write result is successful.  (hNorInfo->bufferSize = hNorInfo->bufferSize / 2;)

"MT28EW512ABA1" has the 512-word(1024byte) bufferSize.

1. 512-word(1024byte) bufferSize ==> Fail

2. 256-word(512byte) bufferSize ==> success

I really don't know what the problem.

How can i fix or How can i debugging about this problem ?

If you know about the solution, plz let me know.

Thanks.

  • Hi Lee,

    Can you tell a little more? What is your hardware setup?

    - Are the two memories mounted on the PCB at the same time? Or they are exchangeable?

    -Are you observing the issue on one board or on every board?

    -How are flashing the memories? - JTAG - or a  flasher running on the SoC. What is the inteface with the host PC? USB, etc?

    - Also the memory clock speed and memory timing parameters would be helpful.

    Regards,

    Stan

  • Hi Stan,

    Thanks for reply.
    Below is the answer for you.

    - Are the two memories mounted on the PCB at the same time? Or they are exchangeable?
    ==> Lee) We have two PCB Type(Rev01, Rev02) on the same HW. It just different the NOR Flash Memmory.
    The Rev01 PCB mounted the "M29W256GH" Nor Flash.
    The Rev02 PCB mounted the "MT28EW512ABA1" Nor Flash.


    -Are you observing the issue on one board or on every board?
    ==> Lee) The issue observe on every board with Rev02.
    But, the issue never observe In the Rev01.


    -How are flashing the memories? - JTAG - or a flasher running on the SoC. What is the inteface with the host PC? USB, etc?
    ==> Lee) We use "Spectrum Digital XDS560V2 STM USB" JTAG.
    And we use the console command of the CCS7 with using the "nor_flash_writer_m4_debug.xem4" file.


    - Also the memory clock speed and memory timing parameters would be helpful.
    ==> I use the default parameters with TI reference in the Rev01.
    The Rev02 also use same parameters.

    ( 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 Code defaults */
    0x0, /* 0x0008, */
    /* IRQEnable - ROM Code defaults */
    0x0000,
    /* TimeOutControl - ROM Code defaults */
    0xf01f0000U,
    /* Config - ROM Code defaults */
    0x000a0000,
    {
    0x41041010,
    0x001E1C01,
    0x00000000,
    0x0F071C03,
    0x041B1F1F,
    0x8F070000U,
    0x00000C08,
    },
    /* PrefetchConfig1 */
    0x0,
    /* PrefetchConfig2 */
    0x0,
    /* PrefetchConfig3 */
    0x0,
    };

    If you need more information about Nor Flash, Please let me know.


    Regards,

    Lee

  • Lee,

    1. This can be a stupid mistake like - you think bufferSize is in words, but actually it can be in bytes. By dividing by 2 you are fixing this mistake. If you are absolutely sure that you are setting the correct value (without /2), see step 2.

    2. I've checked the Micron datasheets. The two memories are from different families and the differences are not so easy to understand. But this is what I think:

    a) M29W256GH has

    • Enhanced buffered program commands: 256-word

    • Fast program commands: 32-word (64-byte) write buffer

    -b) MT28EW512ABA1 has

    • Buffer program (512-word program buffer)
    – 2.0 MB/s (TYP) when using full buffer program
    – 2.5 MB/s (TYP) when using accelerated buffer program (VHH)

    That means, if you are using MT28EW512ABA1 accelerated buffer program (VHH = 9V) , then it is possible that full buffer (512) can not used (similarly to M29W256GH buffer in fast program)

    Unfortunately it is not 100% clear from the spec (at least I cannot understand it) and better to contact Micron for that.

    Regards,

    Stan