PCROP也是一种专有代码读出保护,它要保护的是“这段代码可以运行,但无法被读走”,
对于STM32G474有个PCROP_RDP位,置1的情况下,才可以在RDP读保护从1降到0的时候擦除PCROP的设置地址区域。所以正确的配置PCROP的姿势应该是PCROP_RDP和RDP读保护都要一起配置了。
如果仅配置了PCRROP导致绘制这个地址无法擦写。‘
比如下面这个配置,这个不仅会导致目标板芯片BANK2锁住,并且写选项字节还是无法校验通过,原因有些选项字节bit是未定义的,但是FLM算法文件却把这个也加入到校验了,这种就比较坑
[C] 纯文本查看 复制代码 AA F8 EF FB FF FF FF FF 00 80 FF 7F FF FF 80 FF FF FF 80 FF FF FF FF FF 00 80 FF FF FF FF 80 FF FF FF 80 FF 00 FF FE FF 00 FF FF FF
写入这个,并选择烧录完毕断电复位,保证选项字节生效
导致下次烧录自动解除保护失败,实际是生效了,再执行一次下即可,但BANK2无法再使用了
解决办法只有手动重新使能一次RDP,并设置PCROP_RDP
[C] 纯文本查看 复制代码 BB F8 EF FF FF FF FF FF 00 80 FF FF FF FF 80 FF FF FF 80 FF 00 FF FE FF 00 80 FF FF FF FF FF FF FF FF 80 FF FF FF 80 FF 00 FF FF FF
执行一次断电上电复位,注意TOOL独立为目标设备供电
然后再执行一次一键下载即可解除
|