【文末互动福利】STM32H5 DA回退失败案例分析 LAT1680
01问题描述
客户使用STM32H563用于他们的产品。将STM32CubeH5 Cube固件包内的示例代码移植到他们的硬件平台后,执行DA regression时失败,但在NUCLEO-H563ZI开发板上使用相同固件和配置进行测试时现象正常。
02问题分析
同样的固件,同样的配置,运行在不同的硬件平台,况且DA回退流程跟用户代码关系不大。因此,应优先怀疑硬件连接、调试器兼容性、复位链路或操作流程差异。
首先查看客户的操作,发现客户使用的是市面上这种ST-LINK:

需要说明地是,它并非ST官方调试器,而是第三方兼容调试器。
不过,换成ST官方的ST-LINK后,问题仍然存在。
然后查看客户的硬件原理图,对比客户板与NUCLEO-H563ZI的原理图后,发现NRST连接方式存在差异。

如上图所示,客户的MCU的NRST引脚上串了一个1K的电阻。大家要知道地是,MCU的NRST引脚内部已经有了一个大概40K左右的上拉电阻,这个在数据手册中可以查到:

而ST官方的硬件设计指南文档AN5711对SWD口的参考设计如下图所示:

可见,NRST引脚并不需要串任何电阻。
于是将客户板上的那个1K电阻拿掉后,再去做DA回退测试,则一切又恢复正常了。问题解决。
下面有一些客户提到的相关问题:
Q:做DA回退时,必须要连接NRST引脚吗?
A:是必须的。因为在做DA回退时,上位机软件通过ST-Link,会拉NRST引脚去触发MCU复位,才可以使MCU进入到DA流程,这个在AN6008文档中讲述DA流程的章节有提到:

当然,你也可以使用示波器测试DA回退过程中NRST引脚上的波形,从而确定这个波形是通过NRST引脚发送的。
由此可知,NRST引脚必须拉到调试接口才行,且不需要串任何电阻。
另外,需要强调地是,ST官方的硬件设计指南中,对于SWD口的参考设计图中是有连接NRST引脚的。客户在设计SWD接口时容易忽略NRST连接,这就可能导致类似问题出现。
03小结
一般来说,对于SWD口,我们一般建议将NRST拉出来,并串一个0欧姆的电阻。在正式发布和做EMC方面的测试时,可将这个电阻拿掉。调试的时候则放回去。如此,可兼顾各方面的考虑。
互动福利:
为了和大家交流前端 + 硬件跨界开发,本次文章福利免费抽 1 块 NUCLEO-H563ZI-Q,活动全程自愿参与,无任何隐形消费。
✅ 参与方式: 点击关注本博主; 将本文转发至 CSDN 动态,并把转发截图粘贴到本条评论区; 评论区分享你想使用这块开发板实现什么 H5 项目(如物联网控制面板、网页小游戏硬件联动等)。
🕒 活动时间:2026年7月2号-7月23号
🎲 开奖方式:活动结束后截图全部有效评论,随机工具抽取 1 名幸运读者;
📦 领奖说明:中奖小伙伴私信我姓名 + 手机号 + 收货地址,72 小时内未联系视为放弃奖品,包邮寄出。 注:仅技术交流福利,不保证百分百中奖,所有操作仅限 CSDN 站内完成~
更多推荐
所有评论(0)