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.

Use Nand and Nor flash simultaneously

Other Parts Discussed in Thread: TMS320C6672

I am intending to use both nand and nor flash simultaneously. Nand is used to store data due to its high density whereas nor is used to store code due to its high reliability.

From the memory map of C66, the nand flash cover CS2 to CS5 whereas the nor flash covers CS4.

My question is if I use both nand and nor flash simultaneously, my nor flash will be on CS4 (16MB) but will my nand flash be on CS2, 3 and 5, or on CS2 and 3 only, or on CS2, 3, a part of CS4 not used by nor flash and CS5.

 

  • Wenjun Huang,

    Which C66xx device do you plan to use?

    Regards,
    RandyP

  • I am looking at both the C6672 and C6678 device. Thanks.

  • The last option (where you're talking about sharing the CS4 space between NOR and NAND) is not a valid option, but the others are valid options.  You cannot have NOR and NAND share the same CS.  Two differing memories cannot share a CS.

    Best Regards,

    Chad

  • Wenjun Huang,

    Do you really need to have so many NAND Flash devices connected to the C6672/8?

    You can connect one NOR Flash, up to 32MB if it is x16 wide, on CS4. Then you can connect one NAND Flash on CS2 or CS3 or CS5.

    One NAND Flash on CS2 can be used for virtually any size NAND Flash device. I am not a NAND Flash driver writer, but the NAND device uses a multiplexed command/address/data bus on the EMIFD[7:0] or EMIFD[15:0] signal lines. This connection is shown in the figures in the EMIF16 User's Guide section titled "Connecting to NAND Flash".

    You may want to read the section of the EMIF16 UG as well as search for information on the operation of NAND Flash devices. These are very powerful devices.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • I do not actually need so many NAND flash device connected to the C6672.

    Actually, I want to use the maximum NOR flash for instruction code to run the program on the embedded system, and the maximum NAND flash for data storage.

    I was surprised to see NOR flash can be supported up to 32 MB since the data manual says 16 MB. I think the data manual means 16 M of location, each locations having 16 bits of data (since the EMIF16 is 16 bit wide) So the data manual at pg 11 should be corrected to 32 MB instead of 16 MB.

    The maximum amount of NAND flash should also be made clear. It is 256 MB (if NOR flash is not used, hence the CS2-5 are for NAND flash only) or 192 MB (if NOR flash is used, since CS4 is used for NOR flash. CS2, 3 and 5 constitute 192 MB).

    I was thinking if I can just use 1 NAND flash to cover the 192MB, ie connect CS2,3, and 5 to the CS# pin of the NAND flash. Will the memory map be as follows:

    a. 

    C6672 chip                    ->  NAND flash

    70000000 - 73FFFFFF -> 00000000 - 03FFFFFF
    74000000 - 77FFFFFF -> 04000000 - 07FFFFFF
    7C000000 - 7FFFFFFF -> 0C000000 - 0FFFFFFF

    or b.

    C6672 chip                    ->  NAND flash

    70000000 - 73FFFFFF -> 00000000 - 03FFFFFF
    74000000 - 77FFFFFF -> 04000000 - 07FFFFFF
    7C000000 - 7FFFFFFF -> 08000000 - 0BFFFFFF

    For a, I would need a 256 MB of NAND flash whereas for b, I would need a 192 MB of NAND flash.

    Thanks.

  • Wenjun Huang,

    Where in the data manual does it say 16MB? I am not the expert here and have only calculated under the assumption that 24 address bits with 2-byte wide memory would work. If someone needs to correct me, I apologize for a mistake. But it certainly seems like we should be able to reach 32MB.

    Your understanding of how NAND Flash is accessed by the C6678 is not correct. To state it again in a different way, you can access a 256MB NAND Flash device using only CS2 and the appropriate NAND Flash software drivers. You do not need to use CS3-5, but only CS2. The 64MB address range of the CS2 space is not directly relevant to the access of the NAND Flash device.

    RandyP said:
    You may want to read the ["NAND Flash Mode"] section of the EMIF16 UG as well as search [the internet] for information on the operation of NAND Flash devices. These are very powerful devices.

    Regards,
    RandyP

  • p11 of TMS320C6672 says about the 16 MB of NOR flash.

    I also derive my understanding of the NAND flash from the memory map on p25. 

    Start End Bytes Description

    70000000 73FFFFFF 64M EMIF16 CS2 Data NAND Memory

    74000000 77FFFFFF 64M EMIF16 CS3 Data NAND Memory

    78000000 7BFFFFFF 64M EMIF16 CS4 Data NOR Memory

    7C000000 7FFFFFFF 64M EMIF16 CS5 Data SRAM Memory

    You can read my other post here http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/120600/434388.aspx#434388

    What do you mean by NAND flash driver? Is it code that you write to access the NAND flash?

    I did read the EMIF16 document but not in depth as I am still understanding the basic. Will read it some time soon. Thanks.

  • Wenjun Huang,

    Wenjun Huang said:
    p11 of TMS320C6672 says about the 16 MB of NOR flash

    Thank you. This statement in the data manual is very clear and is supported by others at TI. But the reason is not clear and I hope we can learn why this is true.

    Wenjun Huang said:
    I also derive my understanding of the NAND flash from the memory map on p25.

    This is the wrong way to gain understanding of NAND Flash. For a NOR Flash, the memory map tells you the upper limit but for a NAND Flash the memory map has no direct relationship to the size of the NAND Flash. Please use an internet search tool to find information on how a NAND Flash device operates. The NAND device operates more like a peripheral than a memory device. This distinction is similar to the difference between a FIFO and an SRAM; you could have a 1TB FIFO connected to a 1B peripheral port, for example.

    Wenjun Huang said:
    What do you mean by NAND flash driver? Is it code that you write to access the NAND flash?

    Yes. Either you write the code or you use code supplied by us or someone else. I do not know what NAND driver code we have or plan to make available, but we are usually pretty good about making at least some version available.

    Regards,
    RandyP