本帖最后由 dawei360 于 2017-3-28 18:10 编辑
STM32F722ZE带有PCROP功能。再想盗用程序可不是那么简单的,来看看这个功能怎么用;相关资料如下:
https://my.st.com/content/my_st_ ... d1490685575427.html
ST的PCROP 功能提供了3个级别代码保护,Level0、Level1、Level2;其中Level0、Level1客户相互切换,但Level2与Level1 之间不可逆,只能是Level1到Level2,所以在使用的时候要注意了;使用Level2 则意味着你的芯片的某些以前能擦写的区域就变成不能擦写了。 ST内部提供了寄存器PCROP、nWRPi 来设置,具体如下:
二、必要的工具:
1、STM32 STLink Utility
2、代码,主要通过PCROP_Enable() 函数来实现;
三、测试:
1、流程图:通过蓝灯和绿灯的不同指示状态来判定,是否进行PCROP
2、核心代码的实现:
#if defined (USE_PCROP_FUNCTION)
/* Enable PCROP Protection on sector 2 where FIR Filter IP-Code is placed */
if (PCROP_Enable() == HAL_OK)
{
/* Turn On GREEN LED1 if PCROP activated successfully */
BSP_LED_On(LED1);
}
else
{
/* Turn On BLUE LED2 if PCROP activation failed */
BSP_LED_On(LED2);
/* Infinite loop */
while(1);
}
/* Wait for KEY button to be pushed */
while(ubKeyPressed == RESET);
#endif /* USE PCROP FUNCTION */
3、配置工程和修改stm32f722xx_PCROP.icf文件:
然后编译生产可执行文件。
4、通过STLINK 设置:
然后就错了:
保护了,然后就悲剧了,这是怎么搞,
|