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.

C6747 can't boot from nand flash 8

Other Parts Discussed in Thread: TMS320C6747

According to http://processors.wiki.ti.com/index.php/Flashing_the_C6747_EVM, I modify my .gel file. I comment some codes as follows and add these configuration codes to my application codes.

After that, I compile program and download .out file through JTAG( I want to know  this time whether the application code is ok or not), but there is an error:

I think that's because I comment some codes, so I uncomment Setup_System_Config() and Setup_Psc_All_on(). Then I complile program again, and download .out file. This time it's ok.

Then using D800K001, I get .bin file. I burn it to my flash, but it can't work.

Could somebody help me? Thank you.

 

  • wu wu said:

    After that, I compile program and download .out file through JTAG( I want to know  this time whether the application code is ok or not), but there is an error:

    You are receiving the error message because the SDRAM is not initialized or powered on prior to loading the program.  Since you removed the GEL functions, this is a common error to receive prior to flashing the program.  After you run your program through the AIS gen utility, the ROM will handle the EMIF initialization if the correct checkboxes are marked.

    wu wu said:

    Then using D800K001, I get .bin file. I burn it to my flash, but it can't work.

    What configuration did you use to create the .bin file?
    Did you set the boot pins to the correct boot mode?
    Can you verify that the GUI ROM ID input value is the same as your device ROM ID?

    After it fails, can you connect to your board through CCS?  If you can connect, can you load and execute this GEL file,  http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files, and provide us with the printouts?  I know the GEL file says OMAP-L1x, but it should still work on C67x. 

    --Christina

  • clam said:
     

    You are receiving the error message because the SDRAM is not initialized or powered on prior to loading the program. 

    When it runs from flash, there is no .gel file. Does the error happen?

    I load the .gel file which you have introduced. I don't modify anything. The output messages are as follows:

    I see Boot Mode in the output messages is I2C1 Slave. I think it's strange because according to Using the TMS320C6747/45/43 Bootloader,  which I select is nand flash 8.

     My configuration used to creat .bin file is:

     

  • The first thing we should tackle is the bootmode.  Since it's not in the right bootmode, it will not boot the program inside the NAND8 flash.

    Doing a comparison between I2C1 Slave and NAND8, the BOOT[2] is not correct.  Can you try probing BOOT[2] to make sure that it is pulled high?  After you confirm that, can you try running the GEL file again.

    --Christina

  • I have checked BOOT[2]. You are right. I make a mistake. After it is pulled high, my program can run from nand flash 8. Thank you very much.

    clam said:
     

    You are receiving the error message because the SDRAM is not initialized or powered on prior to loading the program. 

      

    When it runs from flash, there is no .gel file. Does the error happen?  

    in Using the TMS320C6747/45/43 Bootloader, I don't see anything about silicon revision. Can you tell me from which document I can know it.?

  • wu wu said:
    When it runs from flash, there is no .gel file. Does the error happen?

    The error does not happen when you run the program from flash if the program was passed through the AISgen GUI with the options to enable the SDRAM.  The AISgen GUI will insert an AIS header at the beginning of your program.  During boot, the AIS header will be parsed by the ROM.  The header will provide information for the ROM to configure the device, such as SDRAM initialization.

    A way to check if the SDRAM got initialized

    • After the device boots, connect to the device via CCS
    • Open a memory window to the SDRAM and try to write/read from the SDRAM region
    • If it is able to write/read properly, that means the SDRAM is initialized correctly

    wu wu said:
    in Using the TMS320C6747/45/43 Bootloader, I don't see anything about silicon revision. Can you tell me from which document I can know it.?

    The information about ROM revision is located throughout the bootloader appnote.  In Section 1 (Introduction), it specifies that there are two ROM revision d800k001 and d800k003.  If you do a search on the appnote, you can find some more information about the different ROM revision.  For instance, d800k001 UART boot mode baud rate is 230400, where as d800k003 UART boot mode baud rate is 115200.

    --Christina

  • clam said:

    The information about ROM revision is located throughout the bootloader appnote.  In Section 1 (Introduction), it specifies that there are two ROM revision d800k001 and d800k003. 

     

    Yes, in Using the TMS320C6747/45/43 Bootloader, it specifies two ROM revision, but it doesn't  specify silicon revision. So I don't know what silicon revision is. Is there some relationship between ROM revision and silicon revision?

  • There isn't a direct relationship between ROM revision and silicon revision.  Sometimes a silicon revision will only fix silicon issues with no ROM changes.  Therefore, the best way to determine your ROM revision is through the steps mentioned in the bootloader appnote.

    For information regarding silicon revision, please see the Silicon Errata, http://focus.ti.com/lit/er/sprz284b/sprz284b.pdf

    --Christina