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

关于C2000从I2C进行Bootload…….

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

Jones Chen:

代码呢?

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

Forrest:

第一步连接28335与EEPROM.EEPROM的slave address必须是0x50,连接EEPROM的I2C总线必须是GPIO33和GPIO32。

下面是电路图:

 

slave address 有外部的EEPROM芯片进行设定。以24WC256为例,由A0,A1引脚设定:

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

Forrest:

回复 Forrest:

第二步,设定芯片为I2C的bootmode,以28335为例:

 

I2C的bootload 顺序如下,程序中会自动设置相关的引脚为I2C功能,不需要另行设定:

 

相关的寄存器bootrom中的自带程序都会进行初始化:

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

Forrest:

回复 Forrest:

第三步,向I2C芯片写入数据。

例如写入:

                          0xAA,                   // Msg Byte 1   08AA                          0x08,                   // Msg Byte 2   I2CPSC                          0x01,                   // Msg Byte 3                          0x00,                   // Msg Byte 4   I2CCLKH                          0x36,                   // Msg Byte 5                          0x00,                   // Msg Byte 6   I2CCLKL                          0x36,                   // Msg Byte 7                          0x00,                   // Msg Byte 8                          0x09,                   // Msg Byte 9   保留                          0x10,                   // Msg Byte 10                          0x11,                   // Msg Byte 11                          0x12,                   // Msg Byte 12                          0x13,                   // Msg Byte 13                          0x14,                   // Msg Byte 14

                          0x15,                   // Msg Byte 15                          0x16,                   // Msg Byte 16                          0x17,                   // Msg Byte 17                          0x18,                   // Msg Byte 18                          0x00,                   // Msg Byte 19 entrypoint=0X0000C000                          0x00,                   // Msg Byte 20                          0x00,                   // Msg Byte 21                          0xC0,                   // Msg Byte 22                          0x06,                   // Msg Byte 23 数据长度   0x0006个字                          0x00,                   // Msg Byte 24                          0x00,                   // Msg Byte 25 要写入的地址=0X0000C000                          0x00,                   // Msg Byte 26                          0x00,                   // Msg Byte 27                          0xC0                   // Msg Byte 28

                          0x22,                   // Msg Byte 29 要写入的数据                          0x11,                   // Msg Byte 30                          0x44,                   // Msg Byte 31                          0x33,                   // Msg Byte 32                          0x66,                   // Msg Byte 33                          0x55,                   // Msg Byte 34                          0x88,                   // Msg Byte 35                          0x77,                   // Msg Byte 36                          0xAA,                   // Msg Byte 37                          0x99,                   // Msg Byte 38                          0xCC,                   // Msg Byte 39                          0xBB,                   // Msg Byte 40                          0x00,                   //结束                          0x00,

 

 

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

Forrest:

回复 Forrest:

第四步,复位28335芯片,让芯片运行。上面的数据意思是向0XC000写入6个字。

可以监视,如下几处:

 

C2000芯片有很多种bootload模式,SCI和I2C都比较常用,所以做一个从I2C进行bootload的实验,作为扫盲贴。

关于个芯片的bootload的资料可以参考该芯片的Boot ROM Reference Guide ,里面也会有对应的BOOTROM源代码。

这里实验用的是28335芯片,I2C的EEPROM用的是24WC256。

jie zhang16:

回复 Forrest:

朋友,您好!

最近我在进行C28346的开发,由于该款芯片只能使用外部空间存储程序。我使用I2C装载eeprom模式自举,但是我对这操作过程毫无经验,看了您的帖子,我想请教一个问题:程序如何烧写入eeprom中?CCS生成的.out文件如何处理呢?谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » 关于C2000从I2C进行Bootload…….
分享到: 更多 (0)