C2000系列都有一块1Kx16的OTP存储,顾名思义只能编程一次。
对FLASH编程的时候只能从1编程到0,同一个地址,可以先编程0xFF00,然后再编程0x0000,想要变回0xFFFF就需要擦除操作。
看了下OTP的介绍,能否将OTP理解成一块不能擦除的FLASH?
如果可以理解成为一块不能擦除的FLASH,那么会有以下特性:
1)可以使用FLASH_API来操作OTP(擦除除外)
2)OTP可以多次编程,同一个地址可以先编程0xFF00,然后再编程0x0000,其余地址以此类推,直到所有地址都变为0x0000为止
还有一种理解就是,编程必须整个1Kx16内容全部为0xFFFF,编程任意一个地址以后, 整个OTP都不能再写入。
哪一种理解是正确的呢?