嵌入式 | 串口调试可能遇到的问题记录及解决方案

前言

在嵌入式开发的过程中,通过串口连接方式对开发板进行调试是不可或缺的一环。然而,使用串口调试时可能也会遇到这样那样的问题。笔者近日参加了一场培训,其中就罗列了一些常见问题及解决方案,笔者觉得很有参考意义。特此记录并整理,为日后的工作积累经验。

注:下述的排查思路及解决方案是按先后顺序逐层深入的。

串口打印故障

上位机串口助手不显示任何打印信息

排查思路1:检查上位机及对应连接

有可能是对设备的物理连接出现错误。检查以下三点:

  • 串口工具是否已与上位机连接
  • 串口助手相关配置信息是否有误
  • TX、RX信号线连接是否正确

排查思路2:检查串口调试工具与上位机的连接是否正常

具体检查方法:将USB转TTL串口工具的TX和RX短接

排查思路3:测试串口输出是否正常

具体检查方法:测量CPU的串口TX是否有输出

排查思路4:检查启动介质和启动段位信息是否有误

正确的参数应为:

  • 启动介质:001:QSPI
  • 启动段位:00:Default(RECOVER0)

排查思路5:查看CPU有没有正常的读取操作

具体检查方法:查看QSPI的时钟信号

QSPI读固件前的时钟频率波形应为1.57M左右;读取后,根据配置频率不同,会在3.7MHz到37.5MHz间浮动。

若QSPI CLK无输出,说明CPU没有正常工作。

排查思路678针对CPU没有正常工作的情况:

排查思路6:检查系统时钟信号

检查系统时钟的信号波形,正常频率为50MHZ。

排查思路7:检查CPU复位信号信号

具体检查方法:

  • 检查信号CPU_PRO_N是否处于拉低状态

排查思路8:检查上电时序是否有误

不同板子的上电时序不同,详情参考对应的手册。

若前面测得CPU有正常工作,则按下面的步骤继续找原因

排查思路9:检查接口的IO0和IO1信号

  • IO0为CPU发出的读取指令
  • IO1为FLASH发出的反馈信号

若没有收到反馈信号,排查以下原因:

  • flash引脚位置是否有误
  • flash硬件是否有故障

排查思路10:检查FLASH读指令信号质量

典型例子如:03H信号

前述是针对没有任何打印信息的情况,而接下来则是串口助手输出了打印信息,但却是异常信息。

串口打印信息异常

输出卡在pwr on qspi set

解决方案:通过更换固件,降低QSPI的速率

输出卡在peu0 clk _status1 0x0,target clk_status 0x3f

解决方案:通过测量PCle时钟,查看时钟波形

输出卡在entry bl2 form bl1

解决方案:是由于内存不稳定导致的,可测量相关电源,检查内存线路和配置参数是否合理

输出卡在Bad S3 recover status

解决方案:查开发板手册,检查GPIO状态

输出信息显示Training fail

解决方案:检查内存线路和配置参数是否合理

结语

文中只是列出了串口调试遇到的问题中的常见情况,仅仅是为排查故障提供了一些基本思路,在实际的开发调试中,所面对的情况肯定远比上述提到的要复杂。然而,学会基于已有理论知识和经验解决未知问题也是一种很重要的能力,与读者共勉!

相关推荐
fanged1 天前
Yocto1--环境搭建和验证
大数据·搜索引擎·嵌入式
捷瑞电子工坊2 天前
FreeRTOS中断管理:从原理到实践(标准库版)
嵌入式·freertos·实时操作系统·任务通知·临界区·中断管理·二值信号量
dozenyaoyida2 天前
LittleFS 嵌入式文件系统机制拆解与某 RISC-V MCU 实测配置
单片机·嵌入式·文件系统·risc-v·littlefs·flash存储
江洋之道3 天前
嵌入式LVGL UI架构实践:MVP分层 + 双链表路由,构建低耦合、易维护的嵌入式界面
c语言·架构·嵌入式·lvgl
小柯博客3 天前
01 · 点亮 STM32MP25 的硬件视频编解码:VPU 与那些“安静“的坑
c语言·笔记·stm32·单片机·嵌入式硬件·嵌入式·视频编解码
捷瑞电子工坊4 天前
FreeRTOS事件组:多任务同步的利器
stm32·嵌入式·freertos·实时操作系统·标准外设库·事件组·任务同步
小嵌同学5 天前
Linux 内核中的 Per-CPU 机制详解
linux·运维·arm开发·嵌入式
jufeng13075 天前
【系列:uC/OS-II 内核源码精读:从 6736 行代码看懂一个 RTOS · 第 3 篇】
嵌入式·实时操作系统·rtos·uc/os-ii
捷瑞电子工坊5 天前
FreeRTOS任务管理:从入门到实践(标准库版)
stm32·嵌入式·freertos·实时操作系统·任务管理·标准外设库·任务挂起与恢复
深念Y6 天前
JMS583 USB-NVMe 桥接芯片 LED 控制探索
嵌入式硬件·嵌入式·led·usb·电子·维修·硬盘盒