竹叶萧萧 2023-10-13 10:36 采纳率: 0%
浏览 56
已结题

STM32f407无法解除读保护

问题描述

我用stm32f407做开发,开发环境用的vscode+platformio,下载调试工具用的stlink,之前调试运行一直正常,突然在某一次下载程序之后,不知道什么原因,无法再次下载程序了。
用platformio下载提示如下:

img

用keil下载告警如下:

img

img

在某次程序下载后,再也无法下载程序,怀疑是未知原因导致mcu保护开启了,用stlink utility和cubeprogrammer看都像是读保护开启了,保护等级level1,但是当我尝试将读保护等级改为level0时,stlink utility和cubeprogrammer都报错了,比如cubeprogrammer提示Error: Option Byte Programming failed Or modified by application after OBLAUNCH,应该怎么解决

已经做过的尝试

根据告警信息,我上午搜索了一下解决办法,最终指向导致此问题的原因是芯片开启了读保护,我想不通是如何开启的,用户程序中没有对读保护进行操作的,但是想着还是先解决问题,所以就开始用不同方法尝试解除写保护,但是都失败了。

  1. 用stlink utility解除读保护
    打开软件,显示读保护等级为level1,如图:

img


我试着将等级改为level0,但是报错了,如图:

img

img


解除失败。

  1. 用stm32cubeprogrammer解除读保护
    打卡软件,显示如下:

img

img


我尝试修改RDP为AA,但是失败了,如下图:

img

img

最后

以上是在BOOT0拉高的情况下进行的,stlink用国产的和进口的都试了。
目前不清楚为什么会导致这个问题发生,在那次下载程序时,没有退出调试模式就直接进行烧录了,不知道有没有关系,或者硬件stlink接线不稳定?再或者我用的国产的stlink有问题?
最主要的,是问题该如何解决呢?请给点建议,感谢。

  • 写回答

13条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-13 10:41
    关注
    获得1.05元问题酬金

    引自强大而免费的微信小程序:皆我百晓生。如有帮助,还望采纳。


    首先,确保你已经尝试了以下步骤:

    1. 将BOOT0引脚拉低,然后重新上电。
    2. 确保你使用的ST-Link调试器是最新版本,并且已经安装了最新版本的ST-Link驱动程序。
    3. 确保你使用的ST-Link调试器与MCU之间的连接没有问题,可以尝试重插调试器或更换调试器。
    4. 尝试使用不同版本的ST-Link Utility或ST-Link命令行工具进行解除读保护操作。

    如果上述步骤都没有解决问题,那么你可以尝试以下方法:

    1. 使用J-Link调试器进行解除读保护操作。如果你有J-Link调试器,可以尝试使用J-Link Commander工具进行解除保护操作。具体步骤可以查阅J-Link Commander的用户手册。
    2. 将你的STM32F407单片机连接到另外一块开发板上,然后进行解除读保护操作。有些开发板(如STM32F407 Discovery)上有专门的按钮用于解除读保护操作,你可以尝试使用这些按钮进行操作。
    3. 如果你确定你的硬件没有问题,但是仍然无法解除读保护,那么可能是由于芯片本身的问题。你可以尝试更换另外一颗STM32F407芯片,然后进行解除保护操作。

    最后,如果上述方法都无法解决问题,建议联系STMicroelectronics的技术支持团队,向他们咨询你遇到的问题,并获取更详细的帮助。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月21日
  • 创建了问题 10月13日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效