打印
[STM32F7]

NUCLEO-F722ZE+史上第四详细nucleo-722ze测评五

[复制链接]
3190|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
皈依|  楼主 | 2017-3-26 21:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 皈依 于 2017-3-27 10:34 编辑

专有代码读保护功能【PC-ROP】测试——测试完就报废系列


1,开箱晒照和资料汇总
2,所需驱动下载简介

3,开发环境搭建与功能小试


4,MDK5环境CoreMark移植与测试



stm32f722有PCROP专有代码保护功能,这个功能简单介绍一下:
PCROP 为Proprietary code readout protection 的缩写,也就是说这是一个专有代码读出保护的功能。与RDP 对整片Flash读保护不同的是,它只是针对Flash 的某些特定区域进行代码的读写保护。所以它可以被用来保护一些IP代码,方便进行二次开发。它存在于多个STM32系列中,比如STM32F4,STM32L4,STM32F7等。
另外这是官网关于pcrop的介绍:



同时在介绍中也说了有两个配套的代码,保护n和保护n+1,具体的地址为:
http://www.st.com/content/st_com ... e/x-cube-pcrop.html
该地址上有关于pcrop的相关资料,具体的代码由于太大需要大家自行去下载,而文档我会在最后面分享出来,有需要的小伙伴可以下载进行了解。

pcrop该功能的使用是非常简单的,只需要设置FLASH_OPTCR2 register就可以了,具体的方法如下:


可以看到该设置是非常简单的。
另外我们回到官方代码,这部分代码是对parop的操作,


而在主函数这里可以看到,如果parop初始化成功 LED1会亮,失败的话LED2会亮,


另外我们再看第二个工程:


配合我们的板子来说一下具体的现象,烧录完代码之后刚上电,是在LED2蓝色灯闪烁的while里面跑,
当按下user按键的时候,会继续往前跑,如果失败还是蓝色灯闪烁,如果成功的话是绿色灯LED1闪烁,具体现象如下:


然后我们打开st的软件Utility 点击Target——connect,然后就连接到了我们的722的板子,然后就可以看到下面的memory中的数据:


然后在设置中,我按照官网的指示来了。。。但是感觉这个功能好厉害,就手贱把所有的flash都勾上了。。。。。。


然后悲剧的一幕就出现了。。。软件直接连接不到目标722的板子了。。。然后根据软件提示选择了:


选择了如上模式,然后就可以连接上了。。。但是悲催的一幕是:



可以连上板子,但是软件提示无法读取memory。。。果然,这个功能就是厉害!
然后我的板子再也烧不进去代码了。。。
如下图:



好吧。。。通过我的测试大家都知道了。。。pcrop代码保护功能是有范围的,大家一定要注意啊~~~~
好了,这个功能就测试到这里。。。我去找解救办法了。。。救命啊啊啊啊啊啊啊!!!!!






3.png (261.09 KB )

3.png

Proprietary code read out protection (PCROP).pdf

1.14 MB

Proprietary code read-out protection (PCROP),software expansion for STM32Cube.pdf

139.12 KB

沙发
whtwhtw| | 2017-3-26 21:39 | 只看该作者

牺牲你一个,幸福千万家。

使用特权

评论回复
板凳
皈依|  楼主 | 2017-3-26 22:03 | 只看该作者
whtwhtw 发表于 2017-3-26 21:39
牺牲你一个,幸福千万家。

虽然是这么说 但还是很心痛啊。。。

使用特权

评论回复
地板
fengm| | 2017-3-26 22:49 | 只看该作者

使用特权

评论回复
5
fengm| | 2017-3-26 22:50 | 只看该作者
T公司的多个STM32产品系列,比如STM32L1、STM32F4、STM32L4、STM32F7、STM32H7等都支持PCROP功能。

使用特权

评论回复
6
皈依|  楼主 | 2017-3-27 08:11 | 只看该作者
fengm 发表于 2017-3-26 22:50
T公司的多个STM32产品系列,比如STM32L1、STM32F4、STM32L4、STM32F7、STM32H7等都支持PCROP功能。 ...

ST公司~ 这个功能还是很强大的

使用特权

评论回复
7
皈依|  楼主 | 2017-3-27 11:01 | 只看该作者
caosix 发表于 2017-3-27 10:42
请问 楼主: 整个芯片 全面 擦除 ?

都 没有 办法 恢复 为 空白芯片 吗 ? ...

昨晚测试了 不行,提示芯片写保护,flash无法擦除

使用特权

评论回复
8
jinglixixi| | 2017-3-27 13:33 | 只看该作者
幸好没轻易去试,后果很严重呀!如果测评要求这一项就申请再补偿一块板子吧!

使用特权

评论回复
9
皈依|  楼主 | 2017-3-27 13:38 | 只看该作者
jinglixixi 发表于 2017-3-27 13:33
幸好没轻易去试,后果很严重呀!如果测评要求这一项就申请再补偿一块板子吧! ...

不是的小伙伴 你理解错了 这个功能很强大 只是我自己的操作不当导致的,pcrop保护的flash有范围限制,而我把所有的flash全点了,导致的。仅仅是提醒大家不要像我一样

使用特权

评论回复
10
cauhorse| | 2017-3-27 14:49 | 只看该作者
持有源码也不能解锁?这么凶残的功能...

使用特权

评论回复
11
@若水| | 2017-3-27 14:54 | 只看该作者
皈依 发表于 2017-3-27 11:01
昨晚测试了 不行,提示芯片写保护,flash无法擦除

恭喜恭喜,终于搞坏了一块,记得我刚用F4时,想写保护,本来是写保护级别1就可以了,但偏偏写入级别2,后来只能换芯片了

使用特权

评论回复
12
皈依|  楼主 | 2017-3-27 15:00 | 只看该作者
cauhorse 发表于 2017-3-27 14:49
持有源码也不能解锁?这么凶残的功能...

他这个有保护级别。。只是**作不当导致代码烧录不进去
保护级别分为级别0 级别1和级别2

使用特权

评论回复
13
皈依|  楼主 | 2017-3-27 15:01 | 只看该作者
@若水 发表于 2017-3-27 14:54
恭喜恭喜,终于搞坏了一块,记得我刚用F4时,想写保护,本来是写保护级别1就可以了,但偏偏写入级别2,后 ...

查过了。。。市场上暂时很难买到722zet6 等等吧。。

使用特权

评论回复
14
@若水| | 2017-3-27 15:05 | 只看该作者
皈依 发表于 2017-3-27 15:01
查过了。。。市场上暂时很难买到722zet6 等等吧。。

评估板才刚出来,你就想能买到芯片啊?

使用特权

评论回复
15
皈依|  楼主 | 2017-3-27 15:09 | 只看该作者
@若水 发表于 2017-3-27 15:05
评估板才刚出来,你就想能买到芯片啊?

很多平台已经能拿到货了
但是zet6得批量才能拿到。。。所以等零售了。。

使用特权

评论回复
16
@若水| | 2017-3-27 15:11 | 只看该作者
皈依 发表于 2017-3-27 15:09
很多平台已经能拿到货了
但是zet6得批量才能拿到。。。所以等零售了。。 ...

那估计得等上一个季度啊

使用特权

评论回复
17
皈依|  楼主 | 2017-3-27 15:32 | 只看该作者
@若水 发表于 2017-3-27 15:11
那估计得等上一个季度啊

等吧 没办法 谁让自己太任性。。。

使用特权

评论回复
18
@若水| | 2017-3-27 15:36 | 只看该作者
皈依 发表于 2017-3-27 15:32
等吧 没办法 谁让自己太任性。。。

使用特权

评论回复
19
aspoke| | 2017-3-27 16:55 | 只看该作者
PC-ROP没有用过这个功能呢,是跟烧写熔丝位一样吗?

使用特权

评论回复
20
aspoke| | 2017-3-27 17:00 | 只看该作者
楼主怎么重新烧写代码的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:物致DIY 期待您的到来~ QQ群:646461928     微信公众号:智物知心致成 DIY小店

39

主题

4284

帖子

48

粉丝