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

28335 I2C通讯方式外扩Flash问题

程序用的是经过改写的官方例程,外扩芯片是X1226。现在的问题是,带仿真器运行的时候,程序烧到flash里无法写入,可以读取。必须上电之后先运行一个烧到内部ram中的I2C通信程序,然后再烧目标程序才能正常工作,掉电之后,又无法写入,智能读取。

Forrest:

抱歉,没看明白,“程序烧到flash里无法写入,可以读取。必须上电之后先运行一个烧到内部ram中的I2C通信程序”

哪个flash?28335的flash?烧写FLASH需要用到flash-api。

focus.ti.com.cn/…/sprc539.html

程序用的是经过改写的官方例程,外扩芯片是X1226。现在的问题是,带仿真器运行的时候,程序烧到flash里无法写入,可以读取。必须上电之后先运行一个烧到内部ram中的I2C通信程序,然后再烧目标程序才能正常工作,掉电之后,又无法写入,智能读取。

hua Lv:

回复 Forrest:

我没有写清楚,是这样的。

问题描述:上电之后,带着仿真器,I2C读写程序时烧到28335内部flash运行,智能从X1226读取,不能写入。

如果上电之后,先烧写一个在28335内部RAM运行的I2C读写程序,关掉程序。然后接着烧一个在28335内部flash运行的I2C读写程序,则可以正常读写。

我推测有没有这种可能,我先烧了一个在28335内部RAM运行的i2c程序,然后关掉CCS程序,但是因为没有掉电,所以这个程序仍然保存在28335内部ram中,即使再往28335烧写一个在其内部flash中运行的程序,并且在线运行这个程序,这时候先前烧在RAM中的那个程序仍然在起作用,所以这时候才可以正常读取,写入外部存储芯片X1226的数据。

程序用的是经过改写的官方例程,外扩芯片是X1226。现在的问题是,带仿真器运行的时候,程序烧到flash里无法写入,可以读取。必须上电之后先运行一个烧到内部ram中的I2C通信程序,然后再烧目标程序才能正常工作,掉电之后,又无法写入,智能读取。

hua Lv:

回复 Forrest:

我没有写清楚,是这样的。

问题描述:上电之后,带着仿真器,I2C读写程序时烧到28335内部flash运行,智能从X1226读取,不能写入。

如果上电之后,先烧写一个在28335内部RAM运行的I2C读写程序,关掉程序。然后接着烧一个在28335内部flash运行的I2C读写程序,则可以正常读写。

我推测有没有这种可能,我先烧了一个在28335内部RAM运行的i2c程序,然后关掉CCS程序,但是因为没有掉电,所以这个程序仍然保存在28335内部ram中,即使再往28335烧写一个在其内部flash中运行的程序,并且在线运行这个程序,这时候先前烧在RAM中的那个程序仍然在起作用,所以这时候才可以正常读取,写入外部存储芯片X1226的数据。

程序用的是经过改写的官方例程,外扩芯片是X1226。现在的问题是,带仿真器运行的时候,程序烧到flash里无法写入,可以读取。必须上电之后先运行一个烧到内部ram中的I2C通信程序,然后再烧目标程序才能正常工作,掉电之后,又无法写入,智能读取。

Forrest:

回复 hua Lv:

这我也没有什么好办法,只能说,通过仿真器调试想办法找到原因。

我估计"如果上电之后,先烧写一个在28335内部RAM运行的I2C读写程序"初始化了一些变量,使得之后的运行正常,楼主可以试试把所有变量都初始化看看是什么结果。当然具体的还是要通过仿真器调试。

赞(0)
未经允许不得转载:TI中文支持网 » 28335 I2C通讯方式外扩Flash问题
分享到: 更多 (0)