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.

how to boot c6657 in nand

Hi TI employee

         We have an application to boot c6657 with nand flash. The hardware is the same with the 6657 EVM board.

        Since we have the experience to boot c66x with spi norflash, we know that some init boot parameter should be loaded into nand first(we will not use i2c boot, so it must begin from block0).The problem is that we don't know what the format of parameter table is.We also don't know if we need some tool (like romparse.exe) to change it to some other file.

        Can you give us some example parameter table and the code to write it into block0?

        Does the parameter and the application code loaded into nand separately or together as a file?(We have found the example in mcsdk/tools/boot_loader/../nand_writer, but it seems like to load app code only.

  • Hi Yuchao,

    NAND boot in C6657 is a multi-stage process which is designed to boot an application from NAND flash after reset.  On reset the DSP starts execution with the bootrom which transfers execution to the secondary bootloader from EEPROM using the I2C slave bus address 0x51. The secondary bootloader loads the application program from NAND flash then transfers control to the application. 

    By default NAND boot only supports a BBLOB image format, if you need to boot an ELF image, the IBL configuration table needs to be modified and re-programmed to EEPROM.

    Please refer to C:\Program Files\Texas Instruments\mcsdk_2_00_00_xx\tools\boot_loader\examples\i2c\nand\docs\README.txt on how to build an HelloWorld example application and program it to NAND, and boot the Hello World image from the NAND flash.

    Thanks.

  • Hi Rajasekaran,

     Thanks for your answer.

    We want to boot from nand flash block0 without IBL,because the hardware is restricted to nand boot.The follows are nand boot  3.11 in KeyStone Architecture DSP Bootloader datasheet.

    "In this boot mode, the boot image is stored in the NAND flash that is connected to the
    EMIF16 peripheral. The RBL configures the EMIF16 and then tries to read the
    geometry of the device. This includes:
    • 8-bit or 16-bit data width
    • Page size
    • Number of pages per block
    • Number of address cycles"

    we want to know how the geometry  should be written,and  where to put(is nand flash block 0?),can you help us to offer same example for this boot mode?

    Thanks

    YUCHAO

  • All ONFI compatible NAND devices are supported by the RBL. For non-ONFI NANDs, the RBL can  boot only from devices whose NAND geometry can be determined either from matching manufacturer/device ID with values in a pre-determined look up table or if the RBL can determine the geometry from the 4th ID byte on the NAND.

    Our recommendation would be to select an ONFI compatible NAND device to avoid the complication of RBL looking for geometry on an non-ONFI NAND..

    Thanks.

  • hI Rajasekaran,

           The nand flash we use is the same with evm board,that means it is ONFI,isn't it?

           If the answer is yes, so do you mean that we just need to generate the boottable,and then write it to the nand flash directly?

           Is there any other things should be done for accompishing the boot?

           Thank you very much.

           Regards.

  • Yes, the NAND on the EVM is ONFI compatible. Here is an example that boot on the C6657 EVM with firmware to by pass the IBL on the I2C. This is example of Native NAND boot which you are trying to implement on your custom board.

     2541.Nandboot_release.zip

     Please refer to the document in the folder for steps to recreate this example on your EVM/.

    Please note that the NAND boot on the EVM is impacted by a an issue in the RBL. Please refer to my discussion on the following thread to work around it.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/335996/1177713.aspx#1177713

    Regards,

    Rahul