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.

C6678,SPI, BOOT



我在TI论坛上看到说C6678支持直接从SPI的Nor flash 加载,不需要I2C的参与,又看到说因为PLL的问题,fpga 迫使DSP先从I2C加载,之后再转到你所选择的加载方式加载,我不知道到底哪个才是正确的。我的问题如下:

1.  C6678的开发板能不能直接从SPI 的Nor Flash加载,从而不需要I2C的参与?

2. 在SPI加载方式下,需不需要把IBL和IBL Configuration烧到I2C的EEPROM 中?

说明:我现在在TMDXEVM6678L上测试SPI Boot mode,但是最终目的是在C6678开发板上使用SPI加载,这个6678开发板上没有接I2C.

这个问题有点着急。希望哪位高手能够指点一下。多谢了!

  • 当前用的芯片版本潜在的PLL问题必须通过I2C加载规避.

    PLL的问题会在下一个芯片版本fix, 到时你可以直接从SPI加载.

  • 更正一下:

    通过SPI 加载可以直接解决PLL bug,即使使用1.0版本芯片也不需要I2C。下面是Bootloader User Guide中的信息

    "The main PLL stays in bypass mode for no-boot, SPI, and I2C boot."

    因为通过SPI和I2C加载时都bypass PLL,所以加载时不会触发那个bug。但是你加载后运行的代码中还是需要规避这个bug。

  • Hi,Brighton

    我在调试TMDXEVM6670L(或TMDXEVM6678L)的SPI boot时,也遇到同样问题,通过拨码开关选择SPI boot,但事实上,fpga会迫使DSP先从I2C加载,之后再转到你所选择的加载方式加载....

    我想请问:

    1、“之后再转到你所选择的加载方式”是如何实现的?是根据拨码开关进行又一次boot吗?还是需要我们事先在i2c eeprom中写入其他boot方式的boot parameter table?比如spi boot配置spi口的参数表

    2、直接进行spi boot在现有EVM板卡上是不是就是无法实现了?如果无法直接实现,在以后我们自己开发的板卡上进行spi 一级boot时,spi boot parameter table写在哪里?flash的什么地址?

  • 您好,

    强制进入I2C执行IBL完全是由FPGA控制的,然后根据拨码开关控制的bootpin进入相应的实际加载方式;如果只是SPI boot的话,不需要额外的parameter table,bootloader会根据拨码开关直接进入SPI挂的Nor flash现场执行代码;如果想要将SPI 上烧写的nor flash代码先搬到6678内部RAM再执行的话,则需要自己写代码将程序搬过来。

  • 目前1.0版本SPI boot会bypass PLL,那么PLL的初始化是在程序里面自己配吗?

    是否在1.0版本上是否有从SPI BOOT起来的成功案例。

  • 您好,

    在SPI boot下ROM code不会配置PLL,但是为了是程序正常运行起来,需要在程序中配置PLL。

    EVM板可以支持SPI ROM boot,可以使用MCSDK的Norflash writter将程序烧写到flash中,然后拨成ROM SPI boot。

  • 选择ROM SPI boot 模式启动是不是会由RBL将代码读入DSP的ram,不需要向EEPROM中烧写IBL?

    FPGA会不会强制先执行从EEPROM中搬IBL配置PLL然后再进入ROM SPI boot 模式?如果是这样的是不是意味着还要改FPGA程序?