Skip to main content
使用结构化的调试和隔离技术,识别并解决在 MCU 启动、接口使用和电源状态转换过程中观察到的问题。重点是将故障范围缩小到根本原因,对照已知良好行为验证假设,并捕获可靠的调试证据。这有助于您高效地排查问题、缩短迭代时间,并自信地恢复稳定的系统运行。 10.1 修复启动故障 在不直接进入深度调试的情况下,隔离早期 MCU 启动失败的最常见原因。 先决条件 ■ 能够在启动的极早期访问日志或调试状态。 ■ 用于失败运行的已构建镜像、符号文件和映射文件。 步骤
  1. 确认主机加载了预期的镜像,并且复位向量或交接配置 与构建版本匹配。
  2. 检查 MCU 启动时时钟、CX 电源轨和 DDR 访问是否可用。
  3. 在调试自定义镜像之前,验证默认镜像可以从 DDR 执行。
  4. 将失败的运行与已知良好的基线日志进行比较。
  5. 如果故障仍然存在,请在更改更多变量之前捕获故障转储、寄存器状态或 跟踪快照。
预期结果。 您可以将故障范围缩小为加载问题、平台依赖问题或软件初始化问题。 10.2 修复外设故障 隔离失败的传输是来自路由、配置、缺失的依赖项,还是外设本身。 先决条件 ■ 如果有的话,一条已知良好的板级路径或设备。 步骤 ■ 确认目标串行引擎、GPIO 路径或设备绑定与您 打算测试的硬件匹配。 ■ 在整个传输持续时间内验证中断路由以及平台投票或依赖项。 ■ 将测试缩减为最小的已知良好事务。 ■ 检查该路径是否以明确的状态失败,例如超时、NACK 或完成错误。 ■ 只有在基本路径正常工作之后,才添加更大的载荷、额外的中断或 GPI。 预期结果 您能够判断故障是出在基本接口设置、外部设备,还是可选的 优化层。 10.3 修复中断或唤醒问题 隔离事件从未到达、以错误极性到达或唤醒
系统不一致的问题。
先决条件
■ 可重复的事件源,例如 GPIO 激励或定时器事件。
步骤
  1. 确认物理事件确实按预期在信号线上翻转或有效。
  2. 在板级和软件配置中检查中断路由、极性、边沿或电平选择 以及唤醒判定。
  3. 首先在活动模式下测试该事件,然后在等待或低功耗路径中重复同一事件。
  4. 保持 ISR 精简,并将工作线程或线程交接路径与纯粹的 中断传递分开验证。
  5. 如果唤醒仍然失败,请在捕获中断证据的同时捕获进入和退出电源状态的 证据。
预期结果。 您可以确定错误是出在信号线行为、路由、唤醒判定,还是软件交接路径中。 10.4 调试技巧 ■ 在启动的所有阶段保留一条稳定的调试路径,例如 UART 日志。 ■ 在添加新变量之前先降低测试复杂度。 ■ 将每次失败的运行与已知良好的基线进行比较,而不是比较两次失败的运行。 ■ 在复位或重新构建之前捕获日志、跟踪和寄存器状态。