大家好,
***************************************************************************
我现在在C6670 EVM板子上做I2C boot,EVM板为Rev 4.0.
按照我的理解:出厂后的板子上的I2C E2PROM的0x50空间放置的是POST程序,而0x51空间放置的是IBL程序,做二次引导。
于是,我将0x50空间的POST程序擦除,烧写了我自己的程序,比如控制GPIO14输出1KHz的方波。
0x51空间仍然是IBL程序,我没用动它。
然后,我将EVM板设置为I2C master 0x50启动。
能够正常运行我的程序。
***************************************************************************
但是,现在的问题是,如果我往0x50处写我的程序,而把0x51处的IBL程序擦除,并且设置为I2C master 0x50启动,则我的程序无法正常启动!!
对于这一点,我很疑惑:
1. 既然我设置为I2C master 0x50启动了,又关0x51处的IBL什么事情呢?
2. 貌似PG1.0有什么PLL bug,必须从I2C先启动,我的问题是跟这个有关吗?但是我的C6670 EVM板都是Rev 4.0了,不可能还是PG1.0的芯片吧?
3. 我们自己的板子是TCI6618,具体型号如下
TMS320TCI6618CYP
YB20C-24ZDTP9
这个应该肯定是PG2.0的芯片吧?应该不会出现PG1.0那种必须先从I2C启动的问题吧?
***************************************************************************
求指教!非常感谢!
Feng Jin:
刚才,又在EVM板子上做了测试了,我将我的程序烧写入EEPROM的0x51处,覆盖原来的IBL。
然后设置为I2C master 0x51启动,能够正常运行我的程序。
***************************************************************************
总结一下我的问题,大致如下:
1. 0x50放置我的程序,0x51放置IBL,设置为I2C master 0x50,能够正常运行我的程序。
2. 0x50放置我的程序,0x51擦除IBL,设置为I2C master 0x50,不能够正常运行我的程序。
3. 0x51放置我的程序,设置为I2C master 0x51,能够正常运行我的程序。
对于第二种情况,很是困惑。
希望大家给我解答一下
Allen35065:
回复 Feng Jin:
这个EVM版上的CPLD设定DSP的跳线,无论何种启动方式都会跳到0x51去启动,所以你看到的情况正常。
所以你只能采用1或者3