芯片是c6748,代码是for循环5次擦除10k的flash存储器。问题现象如下:
1.直接执行就只擦除了第一块扇区,单步执行可以每块都擦除。
2.代码优化选项选择off时,直接运行可以全部擦除。
想问一下,这和优化有关系吗?如果有我怎么改善代码呢?优化选项里每一项的具体含义是什么呢?
Shine:
请看一下擦除时序,试试延长每次擦除之间的时间。
wei wang70:
回复 Shine:
擦除时序应该好着呢,但不执行或者不优化连续执行都可以擦除。
Shine:
回复 wei wang70:
看一下是否有变量被优化掉了,需要前面加volatile定义。
wei wang70:
回复 Shine:
应该是优化掉,要不然应该不会只擦除一个扇区(我是连续擦除五个扇区)。但是具体那个地方被优化了。变量也用了volatile。