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文件如何处理呢?谢谢!