[STM32F7] NUCLEO-F722ZE + PCROP 测试

[复制链接]
 楼主| dawei360 发表于 2017-3-28 16:46 | 显示全部楼层 |阅读模式
本帖最后由 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 来设置,具体如下:

09.jpg

二、必要的工具:
    1、STM32 STLink Utility
    2、代码,主要通过PCROP_Enable() 函数来实现;


三、测试:
    1、流程图:通过蓝灯和绿灯的不同指示状态来判定,是否进行PCROP
01-流程图.jpg

2、核心代码的实现:
  1. #if defined (USE_PCROP_FUNCTION)
  2.   /* Enable PCROP Protection on sector 2 where FIR Filter IP-Code is placed */
  3.   if  (PCROP_Enable() == HAL_OK)
  4.   {
  5.   /* Turn On GREEN LED1 if PCROP activated successfully */
  6.   BSP_LED_On(LED1);
  7.   }
  8.   else
  9.   {
  10.   /* Turn On BLUE LED2 if PCROP activation failed */
  11.   BSP_LED_On(LED2);
  12.   /* Infinite loop */
  13.   while(1);
  14.   }
  15.   /* Wait for KEY button to be pushed */
  16.   while(ubKeyPressed == RESET);        
  17. #endif /* USE PCROP FUNCTION */
3、配置工程和修改stm32f722xx_PCROP.icf文件:
00.jpg
然后编译生产可执行文件。

4、通过STLINK 设置:

03.jpg

然后就错了:
04.jpg
保护了,然后就悲剧了,这是怎么搞,
02.jpg
mmuuss586 发表于 2017-3-28 18:18 | 显示全部楼层
谢谢分享;

评分

参与人数 1威望 +2 收起 理由
dawei360 + 2

查看全部评分

quickman 发表于 2017-3-28 22:08 | 显示全部楼层
STM32能够烧断熔丝位吗?
quickman 发表于 2017-3-28 22:12 | 显示全部楼层
PCROP功能以前也没有用过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

738

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部