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.

Suitable SPI NOR flash for C6678



Hi,

I would like to find a replacement SPI NOR flash for the C6678.

The NOR flash used in the C6678EVM is the old Numonyx part. I am having troubles getting lower quantities of these flashes.

I understand that there are various post already discussing about SPI NOR flash and booting from it. However, I am unable to find any post that has a clear answer on which NOR Flash is suitable for use with the C6678.

My main concern is that if I were to use an incompatible SPI NOR Flash, I will not be able to flash in my program into the NOR flash using JTAG.

Hence, I would appreciate if my following doubts can be answered:

  1. Is there a difference between the various types of NOR flash that can be used with the C6678 for booting and for flashing in programs?
  2. If there is, is there a specific document that documents which type of NOR flash is suitable to be used with C6678 such that I can not only boot from it, but also use the JTAG and an emulator to burn in my programs.
  3. Are there any other recommended SPI NOR flashes?
Thanks,
Allan
  • Hi Allan,

    The SPI interface is very programmable and will support a variety of SPI NOR flash components.  The difference between these devices is generally the driver needed to program the contents.  TI provides a programming utility as part of the MCSDK software package that is loaded into the DSP using JTAG.  This utility is used to program the SPI NOR flash present on the EVM.   That utility can be modified to operate with the particular NOR flash that you've selected.  The differences between programming sequences are generally small so it shouldn't require much modification.  

    We don't publish a list of compatible SPI NOR memory devices.  We don't have the resources to test the devices or maintain a list since the available devices are constantly changing.  The only real requirement for connecting directly to the C6678 is that the device must use 1.8V IO and must support a standard SPI interface.  The rest of the configuration information is located in either the boot configuration bits or the boot table.  For more information on the boot configuration options available please refer to the Keystone I Architecture Bootloader User Guide.

    Regards, Bill 

  • Hi Bill,

    Thanks for your reply.

    As I am new to how the SPI NOR Flash works with the C6678, I have doubts on what are the exact specifications needed for the SPI flash to be chosen for the C6678.

    According to the C6678 Evaluation Board's SPI NOR Flash: N25Q128A11BF840
    Data sheet: http://www.alldatasheet.com/datasheet-pdf/pdf/353315/NUMONYX/N25Q128A11BF840E.html  (page 182)

    There are various options that the SPI flash can support. I have some questions on how these relate to the booting up process of the C6678 and weather they are actually a requirement:

    1. Feature Set. 
    2. Block Structure
    What is the function of the "Feature Set" option and what is it used for? It appears to be proprietary to Numonyx.
    For the "Block Structure", the EVM uses a "Bottom" block structure. However, most SPI Flash from Micron uses "Uniform" block structures with "not boot sectors". Is it critical that I follow this feature for any new SPI NOR Flash that I purchase?
    As for the flashing of program code into NOR Flash using JTAG Emulator and Code Composer,  I am concerned that the use of an incompatible SPI NOR Flash will mean that I will not be able to flash the program code into an incompatible NOR Flash that does not meet a certain requirement.
    I would like to replace the current NOR Flash used by the Evaluation Board but I feel that I do not have enough knowledge on how to select a compatible SPI NOR Flash.
    Regards,
    Allan
  • Hi Allan,

    The feature set  refers to the special execute in place (XiP) functionality built into the SPI NOR Flash.  This feature is controlled by the non-volatile configuration registers (NVCR) bits 11:9.  The NVCR is used to set operating conditions for the SPI memory that will always be present, even after a power cycle.  By default for XiP is disabled.  I will check to see if the SPI NOR Flash driver is setting any of these NVCR register bits.

    The software doesn't use any special blocks for boot code, if fact the code in SPI is copied to DDR after the boot code in I2C sets the PLL and configures the DDR memory.  The code is written continuously starting with the first address in the memory. In other Keystone I EVMs, specifically the C6657, the SPI NOR Flash with uniform block sizes is used.  I don't know if there are any differences in the flash write utility that are designed to handle the different block sizes.  

    As I stated in my previous post, the programming of the SPI NOR Flash is achieved using a small utility found in the MCSDK release.  This utility is loaded with the JTAG emulator and used to program your code into the SPI NOR Flash.  You may have to modify this utility for the FLASH you've selected based on the differences between the FLASH on the EVM and the part you're using.  If you don't want to modify the utility you will have to select the same flash or one that is compatible with the programming method.

    Regards, Bill

  • Hi Bill,

    Thanks for the explanation.

    I will get the same part as the evaluation board for my first iteration. I will also have to learn how to modify the utility for other types of NOR flashes so that I can upgrade this NOR flash.

    Regards,

    Allan