当前位置: 首页 > news >正文

STM32U5 周期性异常复位问题分析

关键字: Option Bytes, IDWG

1. 问题背景

客户反馈使用 NUCLEO_STM32U575 进行评估时,发现板子烧录完程序后,能看到指示程序运行的 LED 灯正常点亮,但是程序跑不起来。仔细观察 LED 指示灯,并不是常亮而是出现周期性的闪烁。擦除固件后,再次测量,发现 MCU 在空片状态下,还是周期性的复位。客户将板子寄到 ST 分析。

2. 问题分析

测试使用的工具版本:

STM32CubeMXVersion : 6.12.0
STM32CubeProgrammer Version :2.18.0

2.1. 硬件原理图及接线检查

GPIO 部分的原理图如下:

图1. NUCLEO-U575 原理图

2.2. 烧录固件测试

通过 STM32cubeMX 生成基本的代码框架,添加测试代码如下:

重新烧录控制 PC7 输出高电平的固件后,测量 PC7 波形如下:

图2. PC7 波形(红色指示 VDD,绿色指示 PC7 波形)

PC7 应该恒为高电平,不应该出现周期性的脉冲波形。

随着分析的推进,GPIO 似乎拉到 3V3 后,会周期性的拉低。监控 NRST 引脚后发现 MCU 出现周期性的复位。测试波形如下:

图3. 红色指示 VDD,绿色指示 PC7,蓝色指示 NRST 管脚

将内部烧录的固件全片擦除后,测试波形如下:

图4. 红色指示 VDD,绿色指示 PC7,蓝色指示 NRST 管脚

MCU 在没有任何固件的情况下出现周期性的复位,和客户描述的现象一致。

2.3. 分析异常

事出反常必有妖,既然是复位导致的问题,我们下一步需要找出复位源。

对于 STM32,通常可以通过查看 RCC_CSR 寄存器来判断复位源。使用STM32CubeProgrammer 在 hot plug 的状态下连接板子。读取 RCC_CSR 的寄存器状态。如下图:

图5. RCC_CSR 寄存器

比较奇怪的是 IWDGRSTF 这个位置位了,也就是说发生了看门狗复位。

图6. RCC_CSR @ IWDGRSTF

进一步分析发现,MCU Option bytes 中配置了 IWDG 硬件模式。使用
STM32CubeProgrammer 读取 option bytes 的状态,此时的 IWDG_SW 并未置 1,也就
是说使能了 IWDG,由于没有喂狗操作,进而引发 IWDG 复位。

图7. U5 的 IWDG 的功能特点

2.4. 彩蛋

新版本的 STM32CubeProgrammer 增加了一项比较有用的功能。那就是可以一键将
Option bytes 恢复为出厂设置,具体操作如下图:

图8. 一键恢复 OB 功能

3. 小结

芯片无固件周期性复位问题由 Option bytes 中 IWDG 被意外使能引起。
 

http://www.lryc.cn/news/612616.html

相关文章:

  • 物联网架构全解析:华为“1+2+1”与格行随身WiFi,技术如何定义未来生活?
  • JVM学习日记(十七)Day17——性能监控与调优(四)
  • .NET9 AOT完全自举了吗?
  • .NET 10 新增功能系列文章5——C# 14 中的新增功能
  • Unity URP渲染管线动态修改材质球状态
  • 38.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--增加日志记录器
  • 十八、k8s细粒度流量管理:服务网格
  • 虚幻GAS底层原理解剖八 (自定义子类)
  • 深入剖析Java线程:从基础到实战(上)
  • Clock斗篷技术:助力跨境电商营销推广的智慧策略
  • 技术优势铸就行业标杆:物联网边缘计算网关凭何引领智能变革?
  • 以 Eland 玩转 Elasticsearch 8.12 Learning-to-Rank
  • 嵌入式C语言编程:策略模式、状态模式和状态机的应用
  • 蓝凌EKP产品:列表查询性能优化全角度
  • Git 文件删除操作指南:管理与恢复已删除文件
  • 合约收款方式,转账与问题安全
  • 「耘•学社」耘少年第五期学能突破导师制领袖特训营,圆满落幕
  • 计算机视觉前言-----OpenCV库介绍与计算机视觉入门准备
  • 解决Git提交人信息默认全局化问题:让提交人自动关联当前用户
  • Element Plus实现分页查询
  • 【PHP 中的 `use` 关键字完全指南】
  • 数码论坛|基于SprinBoot+vue的数码论坛系统(源码+数据库+文档)
  • Redis为什么要引入多线程?
  • Beelzebub靶机
  • 防火墙环境下的全网服务器数据自动化备份平台搭建:基于 rsync 的完整实施指南
  • Java基础学习1(Java语言概述)
  • spring cache(二)核心接口
  • 浏览器渲染与GPU进程通信图解
  • ubuntu 2024 安装拼音输入法
  • 纪念《信号与系统》拉普拉斯变换、Z变换之前内容学完