Flash并不是我们想的那是是random accessed.
对其进行写入数据和读取数据都是得按照一定的规则。比较明显的一点就是必须先erase再program。否则会产生exception。
一般情况下,也就是意味着只有原来的数据是0x...FFFF...时才能对其进行编程。
经过实测,成功。按照一定的规则的前提下,对8个字节进行编程,每个字节编程成0xFF。然后再重复对其进行编程,没有exception产生。达到了预期效果。
同时,在测试中发现,只要会Flash进行unlock操作之后,如果原来的数据全是0x...FFFF...,可以不erase,就可以对其进行program。
尤其是对单片机内部的Flash操作时,更应该符合一定的规则,不能够随心所欲,否则会错误。