我用的是TMS570LC4357芯片,我想向某个地址写入480个字节的数据,但是擦除完flash后有些地址会随机分配一些数据,往这些带有数据的地址内写入数据会导致数据错误,请问怎么可以解决这个问题
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我用的是TMS570LC4357芯片,我想向某个地址写入480个字节的数据,但是擦除完flash后有些地址会随机分配一些数据,往这些带有数据的地址内写入数据会导致数据错误,请问怎么可以解决这个问题
有试过在CCS上有on-chip flash中的选项进行擦除吗?
正常来说擦除flash没什么其他问题需要注意的,你的芯片是第一次出现这种情况吗?有没有测试过其他芯片?
抱歉回复晚了,这个问题我咨询了一下美国工程师,这是他的回复:
The TMS570LC43x has flash ECC which is always enabled. The ECC is calculated using the data and the address, so the proper ECC value for data = 0xFFFFFFFF FFFFFFFF is different for different locations. When the flash is erases, the ECC bits are also erased. At some locations the ECC value 0xFF equates to a single bit error that is corrected by the ARM R5 CPU before the data is displayed. Other locations equate to uncorrectable errors and can change multiple bits in the display. Go ahead and program your code with the proper ECC and you should see it properly displayed in the debugger memory window.