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

嵌入式测试学习第 36 天:串口日志分析、通过日志定位简单问题

串口日志分析、通过日志定位简单问题

  • 一、串口日志是什么
  • 二、串口工具与接线
      • 2.1 常用工具
      • 2.2 串口接线(必须正确,否则无日志/乱码)
      • 2.3 串口参数(必须一致)
  • 三、日志等级(一眼判断严重程度)
  • 四、正常启动日志
      • 4.1 正常日志示例(ESP32/STM32通用)
      • 4.2 正常日志特征
  • 五、真实工作案例
    • 案例1:设备反复自动重启 → 看门狗复位(最高发)
      • 现象
      • 日志内容
      • 分析
      • 原因
      • 解决
    • 案例2:日志突然中断、设备死机(静默死机)
      • 现象
      • 日志内容
      • 分析
      • 原因
      • 解决
    • 案例3:串口乱码(90%新手遇到)
      • 现象
      • 原因(按概率)
      • 解决
    • 案例4:WiFi连接失败(密码错误/认证超时)
      • 现象
      • 日志内容
      • 分析
      • 解决
    • 案例5:文件系统损坏,开机失败
      • 现象
      • 日志内容
      • 分析
      • 原因
      • 解决
    • 案例6:长期运行内存泄漏 → 越跑越卡最后死机
      • 现象
      • 日志内容
      • 分析
      • 解决
    • 案例7:Hard Fault(硬件异常/指针错误)
      • 现象
      • 日志内容
      • 分析
      • 解决
    • 案例8:欠压重启(电源硬件问题)
      • 现象
      • 日志内容
      • 分析
      • 解决
  • 六、串口日志万能分析流程
  • 七、总结

一、串口日志是什么

串口(UART)是嵌入式设备最基础、最稳定、最便宜的调试接口。
设备上电、启动、初始化、运行、报错、死机、重启,所有底层行为都会打印串口日志

测试工程师90%的问题都靠串口日志定位

  • 设备反复重启
  • 开机失败
  • WiFi/蓝牙连不上
  • 运行越久越卡
  • 死机无响应
  • 乱码
  • 文件系统损坏

二、串口工具与接线

2.1 常用工具

Windows:SSCOM、XCOM、串口调试助手
Linux/Mac:minicom、screen、SSCOM for Linux

下面用**SSCOM(最常用)**真实界面演示:

2.2 串口接线(必须正确,否则无日志/乱码)

USB转TTL → 设备

  • GND ↔ GND(必须接!否则乱码)
  • TX ↔ RX
  • RX ↔ TX
  • 5V/3.3V 不要接!会烧板

2.3 串口参数(必须一致)

  • 波特率:115200(最常见),其次 9600、38400
  • 数据位:8
  • 停止位:1
  • 校验位:None
  • 流控:None


三、日志等级(一眼判断严重程度)

所有嵌入式日志都分等级:

等级标识含义测试处理
DEBUG[DEBUG]调试信息,量产关闭不用管
INFO[INFO]正常运行正常
WARN[WARN]警告,潜在问题必须记录
ERROR[ERROR]功能失败严重,必须修
FATAL[FATAL]死机/崩溃最高优先级

四、正常启动日志

4.1 正常日志示例(ESP32/STM32通用)

日志内容:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) [INFO] Bootloader V2.0.1 start [INFO] Chip: ESP32-WROOM-32, 4MB Flash [INFO] System clock: 240MHz [INFO] UART init 115200 OK [INFO] GPIO/I2C/SPI init OK [INFO] WiFi init success [INFO] BLE init success [INFO] File system mount OK [INFO] Main task started [INFO] Heartbeat: 1 [INFO] Heartbeat: 2

4.2 正常日志特征

  • ERROR/WARN/FATAL
  • 所有外设初始化 OK
  • 持续打印心跳(Heartbeat)
  • 不会反复从头启动(无自动重启)

五、真实工作案例


案例1:设备反复自动重启 → 看门狗复位(最高发)

现象

运行几分钟自动重启,循环往复。

日志内容

[INFO] Heartbeat: 120 [INFO] I2C read sensor... [FATAL] Watchdog Reset! [INFO] Bootloader start...

分析

  • Watchdog Reset= 看门狗超时复位
  • 卡死在I2C read sensor→ 主线程卡住,没喂狗

原因

  • I2C设备无应答,程序死等
  • 长任务阻塞,喂狗代码没执行

解决

  • I2C加超时机制
  • 长循环里定期喂狗

案例2:日志突然中断、设备死机(静默死机)

现象

日志停住,按键/网络无响应,只能断电重启。

日志内容

[INFO] SPI Flash write start [INFO] Write addr: 0x08000000 [INFO] Writing data... <<< 日志停在这里,无输出 >>>

分析

  • 卡在SPI Flash write→ SPI总线挂死
  • 无报错、无重启 →静默死机

原因

  • Flash硬件损坏
  • SPI时序错误
  • 写Flash时未关中断导致死锁

解决

  • 换Flash测试
  • SPI读写超时
  • 写Flash前关闭中断

案例3:串口乱码(90%新手遇到)

现象

全是乱码,看不到正常文字。

原因(按概率)

  1. 波特率不匹配(设备115200,工具9600)
  2. GND没接(干扰)
  3. 数据位/校验位不匹配

解决

  • 波特率依次试:115200 → 9600 → 38400
  • 固定8N1
  • 必须接GND

案例4:WiFi连接失败(密码错误/认证超时)

现象

能搜到WiFi,但连不上。

日志内容

[INFO] WiFi scan OK, found 8 APs [INFO] Connect SSID: OfficeWiFi [ERROR] Password check fail [ERROR] Auth timeout, disconnect

分析

  • Password check fail→ 密码错误
  • Auth timeout→ 路由器WPA3,设备只支持WPA2

解决

  • 核对密码
  • 路由器改为WPA2-PSK
  • 靠近路由器(RSSI > -70dBm)

案例5:文件系统损坏,开机失败

现象

反复开关机后,开机卡在启动界面,配置丢失。

日志内容

[INFO] Mount /fatfs... [ERROR] FATFS mount failed [WARN] Flash partition corrupted [INFO] Enter recovery mode

分析

  • FATFS mount failed→ 文件系统挂载失败
  • Flash partition corrupted→ 分区损坏

原因

  • 异常断电(写数据时突然掉电)
  • Flash坏块

解决

  • 格式化文件系统
  • 重新烧录固件
  • 增加掉电保护机制

案例6:长期运行内存泄漏 → 越跑越卡最后死机

现象

刚上电正常,几小时后卡顿,最后死机重启。

日志内容

[INFO] Malloc 1024 OK [INFO] Malloc 1024 OK ...(重复上千次) [ERROR] Malloc fail! No free RAM [WARN] System memory: 99% used

分析

  • Malloc fail→ 内存耗尽
  • 只 malloc 不 free →内存泄漏

解决

  • 找到未释放内存,加 free
  • 改用静态数组,减少动态内存

案例7:Hard Fault(硬件异常/指针错误)

现象

突然崩溃重启,日志报 Hard Fault。

日志内容

Guru Meditation Error: Core 0 panic'ed (StoreProhibited) PC: 0x400d1234, PS: 0x00060d30 Backtrace: 0x400d1234:0x3ffbe5a0

分析

  • Hard Fault= 指针错误、栈溢出、非法访问内存
  • C语言常见:野指针、数组越界、栈溢出

解决

  • 查代码指针操作
  • 增大栈大小
  • 检查数组边界

案例8:欠压重启(电源硬件问题)

现象

一开继电器/电机就重启,空载正常。

日志内容

[FATAL] Brownout Reset: Voltage drop detected System voltage: 2.9V, Threshold: 3.3V

分析

  • Brownout Reset= 欠压复位
  • 电源带载能力不足,硬件问题

解决

  • 更换更大功率电源
  • 增加电容滤波

六、串口日志万能分析流程

  1. 先找 ERROR/WARN/FATAL/Reset
  2. 定位报错前最后一行日志→ 问题就在这个模块
  3. 看时间戳
    • 上电就错 → 初始化问题
    • 运行一段时间错 → 内存/看门狗/稳定性
  4. 对比正常日志:差异点就是故障点
  5. 区分软硬件
    • HardFault/Watchdog → 软件
    • Brownout → 硬件电源

七、总结

  1. Watchdog Reset 是什么?
    看门狗超时复位,主线程卡死、没喂狗。

  2. 日志突然中断无报错?
    SPI/I2C总线挂死,静默死机。

  3. 串口乱码先查什么?
    波特率 → GND接线 → 数据位/校验位。

  4. Hard Fault 原因?
    野指针、数组越界、栈溢出。


http://www.jsqmd.com/news/1014820/

相关文章:

  • 联发科设备深度操作指南:MTKClient逆向工程与底层控制技术解析
  • 5分钟快速上手缠论分析:通达信免费插件完全指南
  • 广州电商税务风险咨询机构排行:合规服务实力对比 - 互联网科技品牌测评
  • 【深度解析】OpenRouter Fusion API 技术拆解:多模型融合架构的能力边界与工程实践
  • BiliDownload终极指南:如何高效获取B站无水印视频的完整教程
  • Pandas数据清洗六大实战Hack:性能优化与工程化实践
  • Transformer 注意力机制变体与长序列建模优化:从 O(n²) 到线性注意力的工程演进
  • 2026年 隔离变压器厂家/电气隔离变压器/安全隔离变压器/抗干扰隔离变压器/电源隔离净化变压器十大品牌精选推荐 - 品牌发掘
  • YOLOv8生菜生长周期识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
  • 【技术干货】Kimi K2.7 Code 深度拆解:MCP工具调用超越Claude,开源编程模型新标杆
  • 从星载SAR到微型无人机SAR:分辨率公式背后的工程权衡与选型指南
  • Claude Code 实战:AI 结对编程如何真正提效:从踩坑到可复用方案
  • 2026年液位计厂家推荐排行榜:吉林磁翻板/玻璃管/浮球/雷达/超声波/防爆/就地/水箱/储罐/工业/污水池液位计品牌深度测评 - 品牌发掘
  • AI CAD图纸一秒检索怎么实现
  • 巴西市政公司开源模型杀进全球第一、Google把300万颗TPU交给英特尔、A股重回4000点
  • eSDHC控制器:从硬件信号到软件驱动的嵌入式SD卡存储系统解析
  • 深耕广东房企资质服务赛道,广州融景企业管理集团打造房地产开发二级资质代办标杆品牌 - 广东科技观察
  • 革命性Python百度搜索API:免费无限制的智能搜索引擎集成方案
  • 如何彻底解决Windows和Office激活问题:KMS_VL_ALL_AIO智能激活方案完全指南
  • 戴森球计划工厂蓝图库:5000+优化设计助力星际工业化建设
  • 弥赛亚叙事:学术赵高,数学鬼才,牛顿封神的认知病毒
  • 怎样用Layerdivider智能图层分离工具:3步实现专业级图像分层
  • 把二维照片变成能旋转查看的3D模型,做设计搞开发玩创意的都值得试试
  • 2026潍坊劳动律师怎么选?5个实战判断标准不踩雷 - 本地品牌推荐
  • G4Splat:用几何骨架为生成式先验“立规矩”——ICLR 2026 稀疏视角三维重建新范式
  • 买到了冒牌货的内存条----山寨内存条-----------是正规的
  • 2026中国薪酬咨询机构专业评测:从体系搭建到改革落地的实战指南 - 互联网科技品牌测评
  • 2026年多级泵厂家推荐榜:辽阳立式/卧式/不锈钢/高压/节能/深井/供水/高层增压及工业高压多级泵品牌实力解析 - 品牌发掘
  • 收银机屏幕分辨率----------------电脑就做电脑该做的自动化工作
  • MPC8309 eLBC控制器:寄存器配置与内存管理实战指南