STM32烧录错误【PDSC: Sequence Execution failed error-Debug access failed - cannot read address 0xE00FFFE】

背景:一开始可以正常烧录,由于写了个文件的代码,编译正常,但是load的时候突然报错……后来换成了本来可以正常烧录的工程发现依然没办法烧录,遂明白自己把板子搞坏了……

错误提示:

Sequence : DebugDeviceUnlock -> CheckID
Context : Item #0: ::Line 11
Expression : “<username>\AppData\Local\Arm\Packs\Keil\STM32F3xx_DFP\2.1.0\Keil.STM32F3xx_DFP.pdsc”
E310 : Debug access failed - cannot read address 0xE00FFFE4 (accsize, ‘4’, AP ‘0x00000000’)
Cannot access Memory (@ 0x00000000, Write, Acc Size: 4 Byte)
Error: Flash Download failed - Target DLL has been cancelled

弹出这个错误的时候非常惊心动魄了,查了一圈唯一似乎可行的是外网的回答(一开始没看懂……操作了一遍发现不行真的慌死,因为看到其他答案有说解决不了让楼主节哀顺变的😂),喜提新单词” saviour “,所以确实不想搞硬件……我宁愿烧坏的不是板子而是我自己

下图是DFS解决过程(越来越慌的过程)
在这里插入图片描述
下面是我自己参考后成功的解决方案【中文博客,放心康

  • 首先,切换到正常的工程(原来导致load失败的工程千万不要再用啦,咱这是在修板子!),我们要做的是删除flash里面所有内容(之前代码有问题导致flash无法写入所以报这个错),需要长按开发板的RST键(复位键,我的是STM32F407ET6,总共四个按钮,其他板子可以参考对应手册)
  • 接着参考上述博客的内容,确保开发板正确连接,按照你自己的板子连接接口选择,比如JLink就是JLink的配置,这一步主要是确保开发板正确连接,排除电路等物理原因造成的load失败
    在这里插入图片描述
  • 其他设置保持原来即可,接着是Flash download选项改成这样,我们需要清空flash,设置好之后烧录文件”load“
    在这里插入图片描述
  • 这时候还有新的问题,那么参考这个”救世主“的发言即可(原答案链接
    在这里插入图片描述
  • 最后再次Load就成功啦!
### Keil5 中无法识别 `.pdsc` 文件格式的原因分析 `.pdsc` 文件是一种描述包管理器中可用软件组件的 XML 配置文件。当遇到 `ARM.ml-embedded-eval-kit-uc-api.pdsc cannot read file unrecognized file format` 的错误提示时,通常可能由以下几个原因引起: #### 1. **文件损坏** 如果 `.pdsc` 文件本身存在损坏或者不完整,则可能导致 Keil5 无法正确解析该文件的内容[^1]。 解决方案可以尝试重新下载对应的 `.pdsc` 文件并替换原有的版本。确保从官方渠道获取最新版本的文件以避免潜在的数据丢失或篡改风险。 #### 2. **Keil 版本兼容性问题** 某些情况下,特定版本的 Keil 可能并不支持最新的 `.pdsc` 文件标准。这可能是由于开发工具链更新频率较高而旧版 IDE 尚未适配新特性所致[^2]。 建议升级到最新发布的 Keil MDK 软件版本来获得更好的兼容性和功能改进。通过访问 Arm 官方网站下载安装程序完成此操作即可。 #### 3. **路径长度限制超出** Windows 系统默认对于长文件名有最大字符数约束 (通常是 260 字符),如果项目目录结构过于复杂深嵌套的话可能会触碰到这个上限从而引发读取失败的情况发生[^3]。 考虑调整工作区位置至更短的基础路径下(例如 C:\Projects\) 或启用 Windows 支持超过传统 MAX_PATH 极限的功能选项(`HKLM\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled`)。 ```python import winreg def enable_long_paths(): key = r'SYSTEM\CurrentControlSet\Control\FileSystem' try: registry_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key, 0, winreg.KEY_SET_VALUE) winreg.SetValueEx(registry_key, 'LongPathsEnabled', 0, winreg.REG_DWORD, 1) winreg.CloseKey(registry_key) return True except Exception as e: print(f"Error enabling long paths: {e}") return False ``` 上述脚本可用于修改注册表设置允许处理超长路径名称。 --- ### 总结 综上所述,针对 `ARM.ml-embedded-eval-kit-uc-api.pdsc cannot read file unrecognized file format` 错误可以通过验证文件完整性、确认IDE版本匹配以及优化存储布局等方式逐一排查解决。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值