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.

BOOTMODE always low

Other Parts Discussed in Thread: TMS320C6678, TMS320TCI6604

Hello,

We have developed a board using the c667x family of DSPs. During testing we have found that the BOOTMODE pin never changes from low to high. Our first prototype uses a 1.0 Silicon, 8-core, 1GHz TMS320C6678 DSP. Bootmode = I2C master mode. Secondary bootmode = Boot Table. The IBL we use for the secondary bootmode is modeled after the IBL used on the C6678 EVM. We are only kick-starting two of the cores.  We can see that the first stage bootloader (boot ROM) runs successfully and the second stage bootloader (IBL) runs successfully. But when we run our application software we do not see a 1 on the BOOTCOMPLETE pin as we expect.

Our second prototype uses a 2.0 Silicon, 4-core, 1.25GHz TMS320TCI6604 DSP. Bootmode = PCI end point. Again with this version of the board we can see that the bootloader runs successfully. We are still only kick-starting two of the cores. Again the BOOTCOMPLETE pin stays low. After we load our application software to the DSP through CCS we can read the bootcomplete register. All four of the BCx bits are 0. We can manually write a value of 1 to each of them. If we write all ones then we see the BOOTCOMPLETE pin go high.

From reading the literature it seems like the boot ROM should write 1s to the BCx bits, but that does not seem to be happening.

Can you please tell me: (1) What stage of the software should be setting the BCx bits high: first stage bootloader, second stage bootloader, or application? (2) If it is the boot ROM that should be setting these bits, why isn't it doing so?

Thanks for your help.

-Courtney

  • Hi Courtney,

    Following my discussion with expert, here are more details:

    Rom Boot Loader RBL (first state) is the one that sets up BOOTCOMPLETE pin. However, it could be that IBL might overwrite these register as these registers get un-locked during IBL process. Would it be possible to try couple of tests below :

    1) Can you just try PCIe boot test even on Rev 1.0 and Rev 2.0? This would just involve setting the boot configuration pins to PCI and just booting and checking using CCS if the BOOTCOMPLETE bit was set correctly. This would tell us if RBL on device is working correctly

    2) Can you try I2C boot mode without IBL but using simple application program that may do nothing or just do simple addition of two numbers? IF bootcomplete bit is set correctly in this case, we know it is likely the issue on IBL and these registers are getting overwritten during IBL process.

     

    Prateek

     

     

  • Hi Courtney,

    Would you pls kindly feedback your test status? My customer also reported a similar question. Thanks.

    Hi Prateek,

    I want to know whether it has influence on the application when the bootcomplete is overwritten by the IBL? Thanks.

  • Hi Yin,

    We saw the same thing with PCIe bootmode as with I2C bootmode. The conclusion, from discussing with Prateek when the BOOTCOMPLETE pin is set, was that the BOOTCOMPLETE pin will not be set high until after operational code is loaded on the DSP.

    -Courtney