GD32F407ZGT6的OTP区,写入之后,提示写成功了,memory对话框里也对,重启后读出来也对,但是设备不能断电,断电后再读出来就不正常了,有这种情况吗 那位有这个芯片的板子,帮忙测试下是否有这个问题。
注意:一定要把板子断电一下,然后再进去看下写入的数据是否变化了。
代码如下:
#define FLASH_OTP_BASE 0x1FFF7800U uint8_t tempDat = 0;
uint8_t McuFlashRead(uint32_t addr)
{
return *(__IO uint8_t*)addr;
}
tempDat = McuFlashRead(FLASH_OTP_BASE);
if(tempDat == 0xFF)
{
HAL_FLASH_Unlock();
HAL_FLASH_Program(FLASH_TYPEPROGRAM_BYTE,FLASH_OTP_BASE,'D');
HAL_FLASH_Lock();
}
|