TI中文支持网
TI专业的中文技术问题搜集分享网站

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.

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

Brighton Feng:

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

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

Brighton Feng:

回复 Brighton Feng:

更正一下:

通过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。

tthnny:

回复 Brighton Feng:

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的什么地址?

Andy Yin1:

回复 tthnny:

您好,

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

tao xiang:

回复 Andy Yin1:

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

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

Andy Yin1:

回复 tao xiang:

您好,

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

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

jim jim3:

回复 Andy Yin1:

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

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

赞(0)
未经允许不得转载:TI中文支持网 » C6678,SPI, BOOT
分享到: 更多 (0)