程序用的是经过改写的官方例程,外扩芯片是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读写程序"初始化了一些变量,使得之后的运行正常,楼主可以试试把所有变量都初始化看看是什么结果。当然具体的还是要通过仿真器调试。
TI中文支持网
