> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 调试常见系统问题

一些常见的系统问题包括看门狗(WD)超时、总线挂起、超时错误和硬件复位。以下各节提供有关如何识别和调试此类系统问题的信息。

## **调试看门狗超时问题**

WD 是一个固定长度的计数器,使系统能够从意外的硬件或软件灾难中恢复。除非系统定期喂 WD 定时器,否则它会假定发生了灾难,并根据触发的 WD 复位子系统或整个系统。

以下是不同类型的 WD 实现:

> * 硬件 WD
> * 软件 WD
> * Bark
> * Bite

下表总结了不同类型的 WD 实现。

**表:看门狗实现**

|  **看门狗类型**  | **超时时长(秒)** |    **所有者**   |            **到期时**           |           **结果**          |
| :---------: | :---------: | :----------: | :--------------------------: | :-----------------------: |
| 非安全 WD bark |      11     |     HLOS     |     向 Qualcomm TEE 发送 IRQ    |      HLOS 进入 `Panic`      |
| 非安全 WD bite |      12     |     HLOS     | 向 Qualcomm TEE 发送快速中断请求(FIQ) | Qualcomm TEE 断言 `PS_HOLD` |
|  安全 WD bark |      6      | Qualcomm TEE |     向 Qualcomm TEE 发送 FIQ    |    Qualcomm TEE 仅喂安全 WD   |
|  安全 WD bite |      22     | Qualcomm TEE |         断言 `PS_HOLD`         |     电源管理 IC(PMIC)复位系统     |

系统同时使用硬件和软件看门狗。例如,调制解调器 DSP(mDSP)同时实现了软件和硬件看门狗。硬件 WD 模块确保处理器处于活动状态,它由一个从预定值开始倒计数的定时器组成。如果对应的 CPU 核心未复位该定时器,它最终会计数到 0(零)并触发 WD 超时。

### **应用处理器 CPU 的 WD**

**非安全硬件看门狗**

* HLOS 每 10 秒触发一次定时器事件来喂非安全硬件 WD。如果 HLOS 在 11 秒内没有喂非安全 WD,则非安全 WD bark 触发,HLOS 必须处理它。如果 HLOS 无法处理,HLOS 会进入 panic。
* 如果 HLOS 无法处理非安全 WD bark,则会触发非安全 WD bite 并将其发送到 Qualcomm TEE,导致 Qualcomm TEE 进入致命错误。
* 在 Qualcomm Linux 中,上游 WD 驱动位于 `drivers/watchdog/qcom-wdt.c` 路径。以下是 WD 配置文件:
  ```text theme={null}
  /# mount -o remount,rw /usr/
  /# cat /usr/lib/systemd/system.conf.d/00-systemd-conf.conf
  ```
  您可以使用以下值修改配置文件:
  ```text theme={null}
  RuntimeWatchdogSec=30
  ShutdownWatchdogSec=10
  ```

有关配置文件值的更多信息,请参阅以下内容:

* [系统和会话服务管理器配置文件](https://manpages.debian.org/jessie/systemd/systemd-system.conf.5.en.html)
* [Linux 看门狗驱动 API](https://www.kernel.org/doc/html/latest/watchdog/watchdog-api.html)

**安全硬件看门狗**

* Qualcomm TEE 每 6 秒以快速中断请求(FIQ)的形式触发一次安全 WD bark。Qualcomm TEE 中的 FIQ 处理程序会喂安全硬件 WD。这不是错误或致命问题。
* 如果 Qualcomm TEE 在 22 秒内无法处理安全 WD bark,则安全 WD bite 到期。然后,PMIC 断言 `PS_HOLD` 引脚,最终整个系统被复位。

此功能的完整功能仅供具有授权访问权限的许可开发者使用。有关调试 WD 问题的更多信息,请参阅 [Qualcomm Linux 调试指南 - 补充文档。](https://docs.qualcomm.com/bundle/resource/topics/80-80021-12A/general_system_debugging.html#watchdog_timeout)

## **调试总线挂起和超时问题**

SNoC、CNoC、xPU、TBU 和 AHB 是设备上的系统基础设施组件,负责以下操作:

* 总线事务
* 地址转换
* 内存保护

这些组件上的某些故障或超时可能导致系统错误,系统会将这些错误报告给 Qualcomm TEE。

此功能仅供具有授权访问权限的许可开发者使用。有关调试总线挂起和超时错误的更多信息,请参阅 [Qualcomm Linux 调试指南 - 补充文档](https://docs.qualcomm.com/bundle/resource/topics/80-80021-12A/general_system_debugging.html#erroneous_transaction_on_bus_error_and_timeout)。

## **识别硬件复位的原因**

安全看门狗、温度传感器(TSENS)或 PMIC 问题都可能导致硬件复位。硬件复位问题的调试方法取决于硬件复位的原因。因此,识别硬件复位的原因至关重要。

此功能仅供具有授权访问权限的许可开发者使用。有关调试硬件复位问题的更多信息,请参阅 [Qualcomm Linux 调试指南 - 补充文档](https://docs.qualcomm.com/bundle/resource/topics/80-80021-12A/general_system_debugging.html#reset_hardware)。
