收藏本站 The Best Quality of Power Equipment

解读大功率程控直流电源STM32单片机:代码实现 PCROP清除

大功率程控直流电源STM32 PCROP专有代码读出维护,将某个区域设置为仅答应履行,可防止代码被不合法读出与修正。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网站下载的参阅代码)
大功率程控直流电源STM32 STLink
IAR/Keil

注:也能够挑选其他支撑PCROP的大功率程控直流电源STM32系列,并挑选相应的大功率程控直流电源STM32开发板与大功率程控直流电源STM32固件库。

3. 代码
 ●设置RDP到等级1
该函数在RDP等级为0时,若需求铲除PCROP, 有必要被运用。
 ●设置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维护。
 
解读大功率程控直流电源STM32单片机:代码实现 PCROP清除

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

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

相关文章

在线留言

*

*

◎欢迎您的留言,您也可以通过以下方式联系我们:

◎客户服务热线:021-51095123

◎邮箱:xin021@126.com

021-51095123
扫描二维码关注我们

扫描二维码 关注我们