? ●设置RDP到级别0
在清除PCROP保护的代码里不会直接调用这个函数。参考手册提到,PCROP的清除必须与RDP从1到0同时发生,而下列RDP_Disable函数则是完整独立的,无法与PCROP的Option bytes同时操作。不过,这个代码的中间部分,也就是实际功能部分,将在清除PCROP时被重用。
? ●清除PCROP
下述代码清除PCROP,它基于参考代码中的PCROP_Enable函数改写而成。首先,它通过RDP_Enable将RDP设置成1。注意实验中不要将RDP设置成为2,否则所有的Option bytes将不再被允许修改。然后将RDP和PCROP都设置完毕,调用一次HAL_FLASH_OB_Launch达到同时将RDP设置成1并清除PCROP保护。
4.运行
在主函数中,调用PCROP_Disable可解除PCROP保护。RDP_Enable后需要关闭电源,重新启动,然后系统正常运行解除PCROP保护。解除保护后,可通过STLink确认PCROP Option bytes已恢复,同时也可以看到整个Flash内容已被擦除。
结论
本文讨论了完全使用代码控制PCROP的设置与清除。它可以使用在PCROP代码保护的开发与部署阶段。
责任编辑;zl
关于控制,MCU就介绍完了,您有什么想法可以联系小编。