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.

Starterware/AM3352: NAND ECC issue

Part Number: AM3352

Tool/software: Starterware

Hi all,
     I used the  bootloader in Starterware_02_00_01_01, and i met a problem when i read the flash. The bugs lay in the function "NANDPageRead", when it is called, it reaches a error value "NAND_STATUS_READ_ECC_ERROR_CORRECTED" which returned by GPMCBCHECCCheckAndCorrect() called by "NANDPageRead"

 When the problem happened ,  the AM3352 can not boot up sucessfully ; but sometimes it can read NAND successfully and  boot up sucessfully(just serval times);

So I want to know  why this happens, want someone can help me,thanks!

  • The RTOS team have been notified. They will respond here.
  • please indicate if you are trying this on TI evaluation platform or your custom platform. The AM3352 interfaces with NAND using GPMC but the generation and handling of ECC data bits is done using the ELM interface. Have you checked that your setup interfaces with GPMC And ELM the same way as TI evaluation platform.

    the error value that you mention, indicates that the flash software found errors while reading but it was able to correct it using ECC bits in the spare area. After the error is detected, there is ECC correction code that will update the values read so that the data looks the same as when it was programmed.

    Regards,
    Rahul
  • Hello Rahul:

    Thanks for your reply!

    I checked my operation , I think it is the same with Ti evaluaiton platform.

    So , if this error happens ;" there is ECC correction code that will update the values read so that the data looks the same as when it was programmed."  I want to know is there a ECC correction code  in the

    Stareware? Or I need to program it myself?

    Thank you !

  • If you are using flash writer and nand lib from starterware, then the ECC code is implemented already. You can refer to this flashing tool source code that handles the ECC in the source file AM335X_ecc.c that is found under
    starterware\tools\flash_writer\src\nand-flash-writer_AM335x\src

    Please indicate when you mention boot fails does the ARM core not exit from ROM bootloader (Check the Program counter after boot failure) or does it get stuck in the MLO?


    If the ROM bootloader is able to read the NAND and boot successfully sometimes, have you checked if the NAND device is power up before the SOC powers up and reads from the NAND. If the NAND devices has uncorrectable errors then the NAND boot should fail consistently. The systems you indicate sounds more like a board /power sequencing issue. Have you tried cold rebooting the SOC multiple times . If the SOC boots after cold reset, then this could be a power sequencing issue.

    Hope this helps.


    Regards,
    Rahul