news 2026/4/17 1:14:37

MSPM0G3507_STLink_烧录 4.16

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MSPM0G3507_STLink_烧录 4.16

MSPM0G3507 + ST-Link 烧录

为什么用这个烧录,为什么能烧录

没钱。

避开了PDSC: Sequence Execution failed这类兼容问题。

之前报错的核心原因:

  • 工程是MSPM0G3507
  • 调试器用的是ST-Link
  • TI 的 MSPM0 Device Pack 里带的调试序列,和当前这套ST-Link组合不完全兼容
  • 所以会出现:
    • PDSC: Sequence Execution failed
    • DAP access error - command not supported
    • 偶发 DFU 相关提示

实际操作

改动 1:关闭 Pack 调试描述

uvoptx里,

C:\ti\mspm0_sdk_2_10_00_04\examples\nortos\LP_MSPM0G3507\driverlib\gpio_toggle_output\keil\gpio_toggle_output_LP_MSPM0G3507_nortos_keil.uvoptx

把:

<DebugDescription><Enable>1</Enable>

改成:

<DebugDescription><Enable>0</Enable>

作用:

  • 不再强制走 MSPM0 Device Pack 里的那套调试初始化序列
  • 改为让ST-Link走更通用的 SWD 连接流程
  • 这一步是解决PDSC sequence execution failed的关键

改动 2:降低调试时钟

uvoptx里把:

<DbgClock>5000000</DbgClock>

改成:

<DbgClock>100000</DbgClock>

作用:

  • 把调试时钟从 5 MHz 降到 100 kHz
  • 降低 ST-Link 首次连上 MSPM0 时的失败概率
  • 对接线一般、复位时序敏感、兼容性边缘场景更稳

改动 3:关闭“进入调试前自动下载”

uvprojx里把:

<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>

改成:

<UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>

作用:

  • 避免一进 Debug 就自动触发一整套下载+调试初始化
  • 先单独Load/Download烧录,更容易定位问题
  • 这对绕开调试阶段的兼容报错有帮助

STlink版本问题

一定要更新ST-Link 固件版本。
不然也搞不进去。

后续在 Keil 里建议这样用

建议配置:

  • Options for Target -> Debug -> ST-Link Debugger
  • Settings -> Port = SW
  • Reset优先试:
    • Connect under Reset
    • Hardware Reset
  • 不要一开始就进 Debug
  • 先点工具栏里的Load/Download

推荐顺序:

  1. 打开工程
  2. 编译
  3. Load/Download
  4. 确认能烧进去
  5. 再尝试进入 Debug

如果以后又出现类似报错

如果再次出现下面这些报错:

  • PDSC: Sequence Execution failed
  • DAP access error - command not supported
  • Flash Download failed

优先检查:

  1. Pack Enable有没有又被勾回去
  2. DbgClock有没有被改高
  3. Reset模式是否正确
  4. 是否误切回了别的调试器
  5. Keil退出时有没有覆盖工程配置

一句话总结

这次能烧录成功,关键不是升级固件,而是:

把 Keil 工程改成了更适合MSPM0G3507 + ST-Link的配置,核心是关闭 Pack 调试描述、降低调试时钟、关闭进入调试前自动下载。

记得按一下复位

为什么要这样

MSPM0G3507 + ST-Link + Keil这套组合下,比较容易出现下面这种情况:

  • 下载成功
  • 但目标芯片没有立即跳转到用户程序稳定运行
  • 手动按一次RST后,芯片重新从 Flash 启动,程序才开始正常执行

这意味着什么

以后如果你看到:

  • 烧录成功
  • Keil 没报错
  • 但是灯不亮

不要第一时间怀疑代码错了。先做这个动作:

  1. 按一下板子的RST
  2. 观察 LED 是否开始闪烁/点亮

如果按RST后恢复正常,就说明:

  • 程序大概率已经烧录成功
  • 只是复位后的启动过程不够稳定

后续建议

为了减少这种情况,Keil 里建议继续这样使用:

  • Debug -> Settings -> Port = SW
  • Reset优先选:
    • Connect under Reset
    • Hardware Reset
  • Load/Download
  • 下载后如果程序没跑,手动按一次RST

对这次现象的最终判断

这次 LED 最终恢复正常,说明:

  • 例程引脚没问题,LED1就是PB22
  • 烧录本身也已经成功
  • 真正影响你观察结果的是复位后程序启动时序,不是代码逻辑错误
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 1:11:29

flutter doctor问题解决

mac端未安装CocoaPods gem install cocoapods --user-installgem依赖Ruby&#xff0c;系统自带的2.5Ruby和新版cocoapods不兼容 安装homebrew /bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"选择gitee选择中科大 bre…

作者头像 李华
网站建设 2026/4/17 1:10:32

CSS 网格容器:布局新时代的构建基石

CSS 网格容器:布局新时代的构建基石 引言 随着互联网的快速发展,网页设计和开发对布局的需求日益复杂。传统的布局方式如浮动和定位已经难以满足现代网页设计的需求。CSS网格(Grid)的出现,为网页布局带来了全新的可能性。本文将深入探讨CSS网格容器的概念、特性以及如何…

作者头像 李华
网站建设 2026/4/17 1:10:31

为什么我认为 Hermes 需要说明 self-evolution 的设计来源

虽然我写了不一定会被看到&#xff0c;毕竟个人项目没什么影响力&#xff0c;就当是一次小小的牢骚&#xff0c;记录一下 摘要&#xff1a;这不是一篇先下结论的文章&#xff0c;而是一份基于公开仓库时间线、实现细节与方向可发现性的来源追问。 为了避免把范围拉得过大&#…

作者头像 李华
网站建设 2026/4/17 1:10:27

消息队列RabbitMQ实战教程

消息队列RabbitMQ实战教程&#xff1a;解锁高效异步通信 在现代分布式系统中&#xff0c;消息队列是解耦服务、提升系统可靠性的核心技术之一。RabbitMQ作为一款开源消息中间件&#xff0c;凭借其高可用性、灵活的路由机制和丰富的协议支持&#xff0c;成为企业级应用的热门选…

作者头像 李华