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.

RTOS/TMS320C6678: MT29F1G08ABBDA NAND programming via C6678 NAND Writer tool

Part Number: TMS320C6678
Other Parts Discussed in Thread: OMAPL138

Tool/software: TI-RTOS

We've designed a C6678 DSP based system which components differ from the C6678 EVM reference design board's ones.

Currently I'm trying to bring up the NAND memory (Micron's MT29F1G08ABBDA) and program an image on it and the nandwriter application fails to program the image - it always reads 0x00000000 instead of the actual data.

I'm working on Code Composer Sudio 5.5 with the MCSDK 2.01.02.06 environment.

Please find attached the C:\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\include\evmc66x_nand.h file modified according to Micron's NAND part datasheet and C6678 EMIF16 controller's info.

Could you please double check the changes and advice which other sources are needed to modify for successful nandwriter application usage?evmc66x_nand.h

Regards

Andranik

  • Andranik,

    Does the NAND Writer read the manufacturers ID correctly. Is the NAND ONFI compatible.? did you put the boot image into the right memory location before running the NAND Writer? Also, have you checked the signals on your EMIF pins to see if they show any data.

    Other thing to check is if the NAND has a write protect and how it is connected. Also, make sure that the NAND is connected to the correct enable pin.

    Regards,
    Rahul
  • Hello Rahul,

    Thank you for answer.
    I've done some experiments / checked on board schematics and next are the results
    - The NAND flash write protect pin is pulled high - so the flash should be writable
    - On TMDXC6678L EVM reference board the NAND flash's chip enable signal is driven only by DSP but on our board besides the DSP-NAND connection it is pulled up via 3.3K res. as well - is it acceptible?
    - On our board the NAND flash's Ready/Busy open-drain output is pulled up stronger than on EVM - with 3.3K res. instead of EVM's 4.7K one
    - The chip enable pin is the same as on EVM,
    - MT29F1G08ABBDA NAND flash is ONFI compatible
    - I put the image to 0x80000000 address before running the nandwriter tool as described in manual


    Regards
    Andranik
  • Andranik,

    I have looped in the hardware expert to comment on the hook up of the NAND with the SOC.

    From software perspective, does the the NAND you are using have the same page size and spare bytes as the NAND on the evaluation platform. If not then update the NAND geometry in the NAND Writer code.
    You didn`t confirm if the NANDWriter is able to read the NAND Manufacturer ID and the ONFI setting from the NAND. This is a common step in the NAND Writer and should be working on your NAND.
    Also confirm that the NAND is connected to CE0 as the ECC generation during the writes is tied to a specific Chip select.

    Regards,
    Rahul
  • Hello Rahul,

    Next are a couple of investigations/results I wanna share with you:

    • NAND memory page size is 2048 byte and the spare size is 64 byte which differs from the one on C6678 EVM. I modified the C:\ti\mcsdk_2_01_02_06\tools\writer\nand\evmc6678l\bin\nand_writer_input.txt and C:\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\include\evmc66x_nand.hfiles according to MT29F1G08ABBDA​ datasheet.
    • The nandwriter is able to read the NAND manufacturer ID and device ID
    • The nandwriter is able to erase the NAND flash:
      • [C66xx_0] NAND Writer Utility Version 01.00.00.01
         
        ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
        Formatted 1024 nand blocks
        Formatting all nand blocks – Successful
    • NAND is connected to CE0 but there is some question regarding to ECC - see below.

    I'm looking into NAND's Minimum required ECC and DSP's ECC support and have some doubts, can you confirm that the DSP and the NAND mounted on our board (MT29F1G08ABBDA) are compatible ?:

    here what NAND's datasheet says (see attached datasheet for more information):

    here what DSP's datasheet says (See the following link http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf for more information):
    3.7 ECC Support
    For data integrity purposes, NAND Flash supports ECC. EMIF16 supports 1-bit ECC
    calculation for up to 512 Bytes and 4-bit ECC calculation for up to 518 Bytes.
    ​Thanks,
    Andranik
  • BAsed on the fact that it is ONFI compatible and the ECC requirement, it appears to me that this NAND is compatible with EMIF16.

    Over the years, we have tried to create an archive of known good NAND parts that have been tested with this interface and here is the complete list:

    http://processors.wiki.ti.com/index.php/List_of_NANDs_devices_supported_by_TI_RBLs

    If you see, the NAND part is new revision to the flash devices used on the OMAPL138 EVM parts. Infact the same ECC requirement shows in that datasheet as well.

    Regards,

    Rahul