跳转至

调试与诊断

SF32 调试应从串口日志入手。根据芯片、SDK 版本和工程配置,项目还可能提供崩溃转储工具、跟踪采集和 RT-Thread Shell;只使用目标平台文档明确支持的流程。

初步排查

先通过串口控制台收集:

  • 启动日志
  • 应用输出
  • RT-Thread Shell 输出(如工程已启用)
  • 异常信息
  • 下载与复位行为

保存日志时,应一并记录开发板硬件版本、SDK 分支、构建命令、烧录命令和串口设置。

调试顺序

  1. 先在同一份固件上复现问题。
  2. 再在复位后复现。
  3. 完整重刷固件后再复现。
  4. 再用最接近的 SDK 示例复现。
  5. 最后把产品改动一项一项加回去。

这样可以避免硬件、开发板支持、中间件和应用层问题相互混杂,便于逐层定位。

常用调试工具

表:常用调试工具
工具 用途
sftool 串口命令行工具,可对受支持的芯片和存储执行 Flash 读写、擦除及复位操作;具体选项取决于芯片和存储类型。
SiFli_Trace 按目标平台支持的流程采集并查看开发板日志。
UsartServer SF32LB52X 和 SF32LB56X 通过 UART 调试内置 Debug IP 时所需的配套工具;不要假定其他目标也适用。
AssertDump 和崩溃转储工具 仅在对应芯片和 SDK 版本提供时使用,并遵循该版本的采集与分析流程。
RT-Thread Shell 仅当工程配置启用了 Shell 时,才可用于运行时检查和执行命令。

首先该检查什么

表:首先检查什么
现象 第一批检查项
硬故障(Hard fault)或断言(assert) 栈大小、空指针、DMA 缓冲区、缓存维护。
外设无响应 引脚复用、时钟、电源轨、开发板名称和驱动是否已启用。
蓝牙(Bluetooth)不稳定 RF 时钟、天线路径、蓝牙协议栈配置、连接参数。
显示异常 面板时序、缓冲格式、缓存/DMA 同步。
随机复位 看门狗(watchdog)、电源轨、欠压(brownout)、栈溢出。

崩溃报告检查清单

报告崩溃问题时,请提供:

  • 开发板型号和硬件版本
  • 芯片型号
  • SDK 分支或 commit
  • 具体示例或项目名称
  • 构建命令和开发板名称
  • 烧录命令
  • 从复位开始的串口启动日志
  • 崩溃转储或 assert 输出
  • 该问题是否能在未经修改的 SDK 示例上复现

最后更新: