MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)

2023-05-16

使用keil开发STM32点下载时出现下面的报错:
在这里插入图片描述
点确定后:
在这里插入图片描述
出现如上情况很可能是该芯片锁死,即设置了读写保护。
解决方法是想办法解锁芯片,可以使用ST-Link配合stlink utility软件,或者使用J-link,或者用一个自动取消读写保护位的程序在SRAM区运行一下(读写保护只影响 FLASH, SRAM调试时程序下载到 SRAM 中,不受影响) 。当然其实上面的方法原理都是一样,下面就使用ST-Link配合stlink utility软件解锁芯片的方法阐述一下。

stlink utility是ST官方提供的免费软件,支持STM32 ST-LINK的程序包括带有命令行界面(CLI)的图形用户界面(GUI)。该软件可自行到ST官网搜索下载最新版。

进入stlink utility软件后,Target->Connect显示不能读到flash,这也进一步证明这个芯片被设置了读报护。如果到这一步依然与图片现象一致,那么请继续往下跟着操作。
在这里插入图片描述
选择Target->Option Bytes
在这里插入图片描述
读到配置字节发现读报护果然被使能了:
在这里插入图片描述
将Read Out Protection选项设置位disable,点击Apply,这时候Flash已经成功解锁了:
在这里插入图片描述
解锁成功后ST-LINK上位机软件会自动连接芯片,这时发现flash已经全部被擦除了(因为flash读出来都是0xFFFFFFFF),这就是芯片的保护机制,主要防止一些想不劳而获的人通过调试器窃取芯片内的软件。
在这里插入图片描述
至此,芯片已经可以正常烧录了。


补充一点:
在这里插入图片描述
有些芯片比如L0系列的,Read Out Protection选项读出来是Level 0或是 Level 1
STM32 读保护有三个等级 L0 L1 L2
L0 是没有保护,可以随意读出来的,一般调试过程中选择。在L0 状态可以设置成L1 或者L2,修改完成不会擦除芯片已有的代码;
L1 是可恢复读保护,L1–>L0状态,,会自动擦除已有的程序。L1->L2,这个设置还没有试过,(正常理解是不擦除);
L2 是不可恢复读保护,此状态下,不可恢复到其他的状态,同时芯片里的程序不能再升级 类似OTP了;
这个主要是保护代码不会被其他人恶意拷贝,保护原作者的权益。

如果是这种。解锁的时候把Level 1切换到Level 0就行了。
这里注意。自己调试时不要设到Level 2去了,这样芯片就再也不能烧录新程序了。


再补充一点:
如果按上面的方法解锁了之后,再用KEIL下载还是反复报下面的错误:
在这里插入图片描述
换ST-link utility烧录时报下面的错误:
在这里插入图片描述
这个原因是上述方法没有解锁全部的Flash,还有一部分Flash没有解锁。是因为前几页flash单独设置了读报护,需要单独解锁。

选择Target->Option Bytes
在这里插入图片描述
发现如上图所示前4页flash被写保护,所以需要将其全部解锁才能下载。
(该部分写保护主要是为了Bootloader被破坏)

在这里插入图片描述
点击Unselect all,再点击Apply即可解除所有的读报护了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护) 的相关文章

  • 使用 flash 或 java servlet 将麦克风数据从浏览器上传到服务器的教程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 There was a question on how to get data from a microphone on a client
  • Flash ActionScript 2 的压缩和解压缩工具

    您是否知道 flash actionscript 2 的任何 zip unzip 组件或脚本 我知道这个图书馆 http ntt cc 2008 01 19 actionscript class library fzip html对于 Fl
  • 有没有办法将 SWF 转换为 SVG 格式?

    有没有办法将 FLA 或 SWF 转换为 SVG 格式 它可以是一个软件吗 或者甚至是网络转换器 我尝试了一些方法 但没有一个有效 所有这些似乎都已经过时了 不 SWF 支持的功能太多 而 SVG 格式无法创建有效的 SWF 版本 如果您只
  • 如何在node.js中的一定时间后强制解决承诺? [复制]

    这个问题在这里已经有答案了 我正在尝试从其 url 下载大量图像 然后在 Node js 中创建一个 PDF 文件 我正在使用图片下载器 https www npmjs com package image downloader模块下载承诺链
  • 我们可以在 Actionscript 中将编译后的 Haxe swf 的 SWC 用作普通库吗?

    我们可以在 Actionscript 中将编译后的 Haxe swf 的 SWC 用作普通库吗 我有一个从haxe代码编译的swf 我可以尝试将它编译成其他SWC 我想将它用作AS3中的lib 是否可以 如果是的话怎么办 是的 可以 性能提
  • MySQL Amazon RDS:超出锁定等待超时

    在 Mysql Amazon RDS 上 当我尝试运行以下 SQL 查询时 UPDATE table1 INNER JOIN table2 USING CommonColumn SET table1 col1 table2 x table1
  • 如何打开/关闭 iPhone 相机闪光灯 swift 2?

    我正在寻找如何打开 关闭 iPhone 的相机闪光灯 我发现了这个 IBAction func didTouchFlashButton sender AnyObject let avDevice AVCaptureDevice defaul
  • 如何判断一个字符串是否包含特定子串

    给定一个字符串A 如何确定该字符串是否包含子字符串 video x flv A indexOf video x flv gt 0
  • 有没有其他方法可以在delphi上观看youtube视频?

    我看到http www delphiflash com demo youtube video http www delphiflash com demo youtube video关于如何在 delphi 上加载 flash 视频 但它不是
  • SqlException超时未达到

    我们的服务器有时会抛出这个众所周知的异常 超时已过 操作完成之前超时时间已过 或者服务器未响应 当服务器处理大请求时 这种情况会在压力下发生 我做了一些研究 发现我可以改变连接字符串连接超时设置和 或SqlCommand 超时数据读取器属性
  • 通过 Flash 测试网络摄像头

    我正在寻找 测试你的网络摄像头 Flash 电影 例如this one http www sillywebcam com others demo test your webcam这是免费的 可以在封闭的环境中使用 我只需要相机测试 不需要视
  • Adobe Air 与 Flash Player 10.1 运行时

    Adobe Flash Player 是一个浏览器 插件提供的优势 用户和内容创作者 浏览器 包括能够 在浏览器中交付 RIA Adobe AIR 融合了最初的技术 在 Flash Player 中开发并启用 丰富的互联网应用 桌面 Ado
  • nodeJS 防止 res.download 超时

    我对我的 nodeJS 服务器进行了 POST 调用 该服务器在 mongo 数据库上搜索一些数据并返回包含所请求数据的 CSV 文件 问题是数据搜索和处理超过了nodeJS默认的2分钟超时 在不同的场景中 y 使用 res writeHe
  • ActionScript 2 移动对象

    我对 ActionScript 知之甚少 我有一个电影剪辑 我希望当我按下按钮 按钮或影片剪辑 时它沿 x 轴移动我不知道要使用什么代码 因为它需要是 Action Script 2 是否有教程或其他东西可以完成此任务 我找到了一个教程 当
  • Flex 相当于 Google Visualization Geomap(等值线地图)?

    The 谷歌可视化地理地图 http code google com apis visualization documentation gallery geomap html Overview组件是一个等值线地图 http en wikip
  • 读取STM32 MCU SPI数据寄存器的值

    有很多类似的问题 但似乎没有一个问题完全相同 我正在将 STML4 MCU 连接到 6 轴传感器 LSM6DS3 我已经成功地在 I2C 中实现了所有内容 但想要 SPI 的额外速度 和 DMA 如果我能让这些第一步工作起来的话 因此 第一
  • 移动影片剪辑时的视觉错误

    在我尝试创建一个简单的类似乒乓球的游戏时 我遇到了一个非常奇怪的 有时甚至是严重的视觉错误 当我设置球 Flash CS 5 5 库 MovieClip 以相当快的速度在屏幕上移动时 我注意到有时球的边缘会在其移动方向上被短暂切断 当它发生
  • 春季安全会话超时

    我在 JSF2 Web 应用程序中使用 Spring Security 3 我有一个提供会话超时的安全规则
  • 在 Flash 中动态更改视频播放速率

    我正在寻找一种方法 让 Flash 视频能够平滑地改变速度 从比原始帧速率慢到快 它只需要在Windows PC上运行 并且可以使用最新版本的Flash 10 2 with Stage Video Flash Media Server 提供
  • 使用后台配置时 NSURLSessionDownloadTask 不断重试

    当涉及到缓慢的后端和使用后台配置下载数据时 我遇到了问题 NSURLSessionConfiguration sessionConfig NSURLSessionConfiguration backgroundSessionConfigur

随机推荐