你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【实战经验】使用STM32 ST-LINK Utility 设置读保护后不能运行

[复制链接]
zero99 发布时间:2016-6-28 14:34

使用STM32 ST-LINK Utility 设置读保护后不能运行


前言
有些时候,我们总是按自己的想法,觉得不会有问题的时候,出现了一些看起来奇奇怪怪的问题,只不过最后还是可以发现这是有理可据的。
问题
某客户在其产品的设计中,使用了STM32F411VET6。客户工程师在开发过程中,尝试使用STM32 ST-LINK Utility 软件配合 ST-LINK 给32F411EDISCOVERY 板上的STM32 加上Level 1 的读保护。工程师发 现,原本在板子上正常运行的代码,加上读保护后,就不运行了。按了板上的RESET 按键也无济于事。
调研
1.了解问题
客户工程师使用32F411EDISCOVERY 来验证读保护的功能。
客户打开STM32 ST-LINK Utility 软件,点击“连接Connect to the target”按钮,再把功能代码下载到板上的STM32F411VET6,实现跑马灯的功能。然后,点击“Target → Option Bytes”调出选项字节对话框,将读保护Read OutProtection 设置为Level 1,如下:

41.jpg

点击“Apply”之后,STM32 ST-LINK Utility 就将选项字节烧写进去了。此时,弹出一个对话框:

42.jpg

此对话框告知我们无法读取存储器。这是对的,因为我们已经将读保护设置成Level 1 了,点击“OK”就可以了。
此时,客户所说的问题来了,板子上的跑马灯不跑了,按下板上的Reset 按键也没用,程序没有运行。
2.问题分析
关于此问题,需要查找一份比较老的编程手册PM0075。此文档虽然是STM32F10xxx 的编程手册,但是有些内容还是值得我们借鉴的,比如现在遇到的这个问题。
翻到2.4.1 Read Protection 章节,在这里,我们看到如下的句子:

43.jpg
第一句话的意思是:读保护是在设置RDP 选项字节后,再执行一次系统复位以重载新的RDP 选项字节后才生效的。接下来的这个注意就很重要了,它的意思是:当读保护被设置的时候调试器仍然通过JTAG/SWD 连接在目标芯片,那么要让选项字节生效,必须执行一次上电复位,而不是系统复位,目的是断开调试器的连接。
对于使用STM32 ST-LINK Utility 来更改RDP 选项字节的操作,正好符合了这两句话的意思,ST-LINK 还通过SWD 接口接在STM32F411VET6 上,所以需要一次上电复位才可以。
那为什么按下Reset 键也没用呢?我们看一下32F411EDISCOVERY 的电路图,看到RESET 键的电路如下:

44.jpg
此按键是接到STM32F411VET6 的NRST 引脚上的。
来看一下STM32F411 参考手册RM0383 关于System Reset 的定义:

45.jpg

在NRST 引脚上产生的低电平复位,也就是外部复位,是属于系统复位System Reset 的一种。这就是为什么在Discovery 板上按RESET 键不能起作用的原因了。
3.问题解决
只要将32F411DISCOVERY 板连接到PC 的USB 断开,让其断电后,重新插入USB 口,上电,就可以看到跑马灯程序又在运行了。
结论
由于使用STM32 ST-LINK Utility 给STM32 设置读保护时,需要ST-LINK 调试器通过JTAG/SWD 连接到STM32 上进行选项字节的更新,要使更新生效,必须让STM32 重新上电,执行上电复位才行。
处理
使用STM32 ST-LINK Utility 给STM32 设置读保护之后,需要重新上电才可激活新的选项字节并运行程序。


文档下载地址:
https://www.stmcu.org.cn/document/list/index/category-1016

实战经验汇总:
https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html

收藏 3 评论2 发布时间:2016-6-28 14:34

举报

2个回答
无薪税绵 回答时间:2016-10-18 11:24:09
谢谢管理员分享经验,收藏了。
ynwscfsfi 回答时间:2016-10-18 12:58:23
好贴,感谢分享学习了

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版