TI E2E Community
Digital Signal Processors (DSP)
C6000 Multicore DSP
Keystone Multicore Forum (C66, 66A, AM5)
regarding nand boot in c6678
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?
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.
-Renjith | www.pathpartnertech.com | Verify the answer if you think your query is resolved
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.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.