> ## 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.

# 硬件与软件接口

了解 MCU 如何与平台硬件以及用于控制它的软件栈交互。理解 QUP、GPIO、中断、QTIMER 和调试路径等关键接口的作用，以及它们如何映射到驱动、运行时服务和应用逻辑。

**6.1 硬件接口**

您可以按照下表所列的预期编程模型，对齐接口配置、驱动使用和事件处理。

**表 6-1 硬件接口角色**

| 接口          | 集成中的角色                                                        | 典型软件接触点                                                                     |
| ----------- | ------------------------------------------------------------- | --------------------------------------------------------------------------- |
| QUP 串行引擎    | ▪ UART 的控制器平面<br /> ▪ I2C <br />▪ I3C 事务                      | ▪ 模式选择 <br />▪ 帧格式 <br />▪ 时序 <br />▪ 传输设置 <br />▪ 中断驱动 <br />▪ 基于 DMA 的操作。 |
| 通用外设接口（GPI） | 在选定 QUP 传输之下基于描述符或环的数据搬移                                      | ▪ 环设置 ▪ 所有权 ▪ 完成与错误中断 ▪ 中止与复位处理                                             |
| GPIO 与外部信号线 | ▪ 中断 <br />▪ 唤醒 <br />▪ 复位 <br />▪ 片选 <br />▪ 使能 <br />▪ 边带交互 | ▪ GPIO 设置 <br />▪ 中断路由 <br />▪ 唤醒源选择 <br />▪ 外设复位 <br />▪ 开发板移植。            |
| 中断输入        | 路由到 MCU ISR 处理的外部事件。                                          | ▪ IRQ 注册 <br />▪ 唤醒分类 <br />▪ ISR 到线程的移交                                    |
| QTIMER 与唤醒源 | 活动和低功耗运行的时间基准与唤醒调度                                            | ▪ 单次和周期性定时唤醒调度 <br />▪ 延迟测量                                                 |
| 调试接口        | 移植和故障分析期间的可见性                                                 | ▪ 内存检查 <br />▪ 跟踪捕获 <br />▪ 寄存器转储 <br />▪ 异常 <br />▪ 故障排查                   |

**6.2 软件栈与编程模型**

**表 6-2 软件层角色**

| 层          | 角色                                                    |
| ---------- | ----------------------------------------------------- |
| 启动与平台初始化   | ▪ 复位入口 ▪ 异常向量 ▪ 缓存 ▪ 内存设置，以及早期开发板或平台初始化。              |
| Zephyr 运行时 | ▪ 线程 ▪ ISR ▪ 工作队列 ▪ 定时器 ▪ 信号量 ▪ 互斥锁、k\_poll ▪ 确定性时序服务 |
| 平台驱动       | ▪ 中断控制器 ▪ 定时器服务 ▪ 主机接口 ▪ 电源钩子 ▪ 看门狗 ▪ 错误处理            |
| 总线与外设驱动    | ▪ UART ▪ I2C ▪ I3C 路径，使用原生子系统 API 及其之下的平台绑定。          |
| 传输层        | ▪ QUP 编程，可选 GPI 或基于环的数据搬移。                            |
| 应用层        | ▪ 传感器与事件处理 ▪ 策略处理、任务模式逻辑和主机升级上报。                      |
| 诊断         | ▪ 日志 ▪ 故障捕获 ▪ 转储收集 ▪ 跟踪钩子                             |

■ 对于中断上下文难以承担的工作，请使用线程和工作队列。

■ 保持 ISR 简短。确认事件、捕获最少状态，其余工作移交出去。

■ 仅在传输或工作项的活动期间保持电源、时钟和路径依赖有效。

■ 在交付的 Zephyr 环境中，UART、I2C 和 I3C 优先使用原生子系统 API。

■ 将 QUP 视为协议控制器，将 GPI 视为其之下可选的数据搬移层。
