您的位置 首页 汽车

怎么运用代码铲除STM32单片机上的PCROP

如何使用代码清除STM32单片机上的PCROP-STM32PCROP专有代码读出保护,将某个区域设置为仅允许执行,可防止代码被非法读出与修改。ST网站提供了免费的PCROP参考代码,但是例程中仅仅提供了用代码设置PCROP。

前语

STM32PCROP专有代码读出维护,将某个区域设置为仅答应履行,可防止代码被不合法读出与修正。ST网站供给了免费的PCROP参阅代码,可是例程中只是供给了用代码设置PCROP。为便利运用PCROP进行知识产权维护的开发和布置,这篇文章供给了办法,可在RDP等级设置为1或许0时,运用代码铲除PCROP。

ST网站上的PCROP参阅代码

学习运用PCROP,可从ST网站下载文档以及参阅代码。文档里有一步一步的具体阐明。参阅代码则完成了,怎么设置编译开发环境去掉文字库(Literal pool),以避免受维护区域需求被读拜访;参阅代码也完成了怎么运用代码使能PCROP维护以及怎么导出接口符号供二次开发运用。

你能够编译运转PCROP参阅代码。一旦下载到开发板并运转后,扇区2会主动被设置成PCROP维护。你将无法再次下载代码到该扇区,也无法读出该扇区的内容。若想经过STLink东西免除PCROP维护,则会导致整个Flash被擦除。

运用代码铲除PCROP

在了解ST网站上的PCROP参阅代码根底之上,咱们将评论怎么运用代码铲除PCROP。

1. 原理

依据STM32用户手册,要想铲除PCROP维护,读维护RDP等级有必要从1设置成0。也便是说,即便当时RDP等级为0,咱们也要运用代码将其设置成1。然后,一起关掉PCROP和将RDP设置成0。这也阐明,虽然是铲除PCROP维护,咱们的代码有必要参加RDP的设置函数, 而不能只是修正参阅代码中的PCROP_Enable的状况字段使其变成PCROP_Disable。

怎么运用代码铲除STM32单片机上的PCROP

2. 资料预备

开发板:STM32F429I_Discovery

开发东西:STM32Cube_FW_F4_V1.15.0

STM32CubeExpansion_AN4701_F4_V1.0.0(从ST网站下载的参阅代码)

STM32STLink

IAR/Keil

注:也能够挑选其他支撑PCROP的STM32系列,并挑选相应的STM32开发板与STM32固件库。

3. 代码

? ●设置RDP到等级1

该函数在RDP等级为0时,若需求铲除PCROP, 有必要被运用。

怎么运用代码铲除STM32单片机上的PCROP

? ●设置RDP到等级0

在铲除PCROP维护的代码里不会直接调用这个函数。参阅手册说到,PCROP的铲除有必要与RDP从1到0一起发生,而下列RDP_Disable函数则是完好独立的,无法与PCROP的OpTIon bytes一起操作。不过,这个代码的中心部分,也便是实践功用部分,将在铲除PCROP时被重用。

怎么运用代码铲除STM32单片机上的PCROP

怎么运用代码铲除STM32单片机上的PCROP

? ●铲除PCROP

下述代码铲除PCROP,它根据参阅代码中的PCROP_Enable函数改写而成。首要,它经过RDP_Enable将RDP设置成1。留意试验中不要将RDP设置成为2,不然一切的OpTIon bytes将不再被答应修正。然后将RDP和PCROP都设置结束,调用一次HAL_FLASH_OB_Launch到达一起将RDP设置成1并铲除PCROP维护。

怎么运用代码铲除STM32单片机上的PCROP

怎么运用代码铲除STM32单片机上的PCROP

4.运转

在主函数中,调用PCROP_Disable可免除PCROP维护。RDP_Enable后需求封闭电源,重新启动,然后体系正常运转免除PCROP维护。免除维护后,可经过STLink承认PCROP OpTIon bytes已康复,一起也能够看到整个Flash内容已被擦除。

定论

本文评论了彻底运用代码操控PCROP的设置与铲除。它能够运用在PCROP代码维护的开发与布置阶段。
责任编辑;zl

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/343617.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部