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.

regarding nand boot in c6678

Hello,

  With the help of image processing demo, FDK algorithm was developed in c6678. the ccs version is 5.1.1.00031.

Now i have two out files. One that is to be loaded to master.out --> core 0 and another, slave.out to all other cores. My task is to place the bin file into NAND and when power is ON, the code should be able to execute and ask for the inputs. The input parameters will be provided from the PC through the web page(mcip_webpage.c).I should not use the CCS environment.

While downloading the out files using CCS, after loading the two .out files, i have to first run the slave group and then the master(core 0) to get a proper output.If it is in the reverse nothing happens there.(i.e. no output , just a stand still)( the core 0 never provides the Ip address required for the web page)

What i have done:  

I followed the instructions provided in the tools folder and tried to download in to NAND flash and i got the output as NAND boot successful. I tried with I2C NAND to print Hello world. Two mistakes i understood are,                                                                                                                                                                                                                                         (1)  DIP switch not properly set and for that I am presently reading the boot load procedure SPRU5b document.                                                                                                         (2) While reading the above document i also understood that, after downloading to the NAND i did not perform a POR. What i did was a hard reset.

My questions are

1) How to load the two .out files into NAND

2) Whether i should load the .gel file into NAND .(Because with CCS, while the target configuration is launched and during the initial set up  the path of the gel file is provided in a manner so that the CCS picks it properly).

3) How to ensure that the slave .out gets loaded into the slave group and master .out gets loaded into the master.(core 0)

4) Finally slave should be executed first(F8) and then master should execute(F8).

Kindly suggest the procedure and any other specific links to read, so that the above task can be achieved.

  • Is the switching for i2c over nand, with i2c as master  and 0x51 as the boot address with parameter index 2 , written below is correct?

    1234   1234    1234    1234

    0010   1011    1110    1111

    SW3   SW4     SW5     SW6

  • Is MAD utility the only choice for multicore deployment of the code?

  • With the help of the readme.txt provided , i was able to successfully download the Hello World program into NAND.

    I have provided the screen shot of the output here.

    My boot switches are 

    Switch   1   2   3   4   

    sw3      off off on off

    sw4       off off on on        (if i change this setting to  on off on on, as provided in the readme.txt, then no output).

    sw5       on on on off 

    sw6       on on on on

    And while NAND writer utility was executing, the console o/p was 

    Flashing block 0 ( 0 bytes of 447824)

    Bad block # 1

    Bad block # 2

    Similarly all other blocks from 3 to 33 (except block 11, 17, 18 and 31) was successful. While reading and verifying the flashed blocks were properly verified and go the print as NAND programming completed successfully. 

    Can anyone suggest any idea? 

  • Vinoth,

    I'm not very familiar with C6678 platform. But you are doing couple mistakes here. 

    1. .out file is either in COFF or ELF format. You cannot write the .out files directly as there is no loader available to parse the COFF/ELF format and load it to RAM. You have to generate a binary file from the .out file and that image has to be flashed to NAND. But you need a bootloader for loading this binary to RAM from NAND.

    2. You cannot load a gel file to NAND and execute directly. Instead the same can be achieved by using a boot loader. So you've to figure out the bootloader support for the platform. I guess IBL is the bootloader for C667x platform. 

    3 & 4. This can be achieved either from the bootloader or the master image.

  • Got the hello world out from NAND boot. Thanks for the support provided by all. and TI support was excellent . Specail thanks to Jose Frangline for his continuous support.

    The mistakes we found out was,

                    We were copying the i2cnandboot_evm6678l.out into the NAND writer and changed the name to app.bin and in the nand_writer_input.txt we provided the file_name= app.bin 

                    Now presently, we just copied the i2cnandboot_evm6678l.out into the NAND writer, then took a copy of it and renamed it to app.bin. We should also keep the i2cnandboot_evm6678l.out file in the same directory.

                    Now the nand_writer_input.txt the file_name= i2cnandboot_evm6678l.out

    All other procedures were same as provided in the Readme.txt provided by T.I.