6.2 软件栈与编程模型
表 6-2 软件层角色
■ 对于中断上下文难以承担的工作,请使用线程和工作队列。
■ 保持 ISR 简短。确认事件、捕获最少状态,其余工作移交出去。
■ 仅在传输或工作项的活动期间保持电源、时钟和路径依赖有效。
■ 在交付的 Zephyr 环境中,UART、I2C 和 I3C 优先使用原生子系统 API。
■ 将 QUP 视为协议控制器,将 GPI 视为其之下可选的数据搬移层。
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
🚀 QLI Version 2.1 is now live ! Switch to new version to check out the latest content
| 接口 | 集成中的角色 | 典型软件接触点 |
|---|---|---|
| QUP 串行引擎 | ▪ UART 的控制器平面 ▪ I2C ▪ I3C 事务 | ▪ 模式选择 ▪ 帧格式 ▪ 时序 ▪ 传输设置 ▪ 中断驱动 ▪ 基于 DMA 的操作。 |
| 通用外设接口(GPI) | 在选定 QUP 传输之下基于描述符或环的数据搬移 | ▪ 环设置 ▪ 所有权 ▪ 完成与错误中断 ▪ 中止与复位处理 |
| GPIO 与外部信号线 | ▪ 中断 ▪ 唤醒 ▪ 复位 ▪ 片选 ▪ 使能 ▪ 边带交互 | ▪ GPIO 设置 ▪ 中断路由 ▪ 唤醒源选择 ▪ 外设复位 ▪ 开发板移植。 |
| 中断输入 | 路由到 MCU ISR 处理的外部事件。 | ▪ IRQ 注册 ▪ 唤醒分类 ▪ ISR 到线程的移交 |
| QTIMER 与唤醒源 | 活动和低功耗运行的时间基准与唤醒调度 | ▪ 单次和周期性定时唤醒调度 ▪ 延迟测量 |
| 调试接口 | 移植和故障分析期间的可见性 | ▪ 内存检查 ▪ 跟踪捕获 ▪ 寄存器转储 ▪ 异常 ▪ 故障排查 |
| 层 | 角色 |
|---|---|
| 启动与平台初始化 | ▪ 复位入口 ▪ 异常向量 ▪ 缓存 ▪ 内存设置,以及早期开发板或平台初始化。 |
| Zephyr 运行时 | ▪ 线程 ▪ ISR ▪ 工作队列 ▪ 定时器 ▪ 信号量 ▪ 互斥锁、k_poll ▪ 确定性时序服务 |
| 平台驱动 | ▪ 中断控制器 ▪ 定时器服务 ▪ 主机接口 ▪ 电源钩子 ▪ 看门狗 ▪ 错误处理 |
| 总线与外设驱动 | ▪ UART ▪ I2C ▪ I3C 路径,使用原生子系统 API 及其之下的平台绑定。 |
| 传输层 | ▪ QUP 编程,可选 GPI 或基于环的数据搬移。 |
| 应用层 | ▪ 传感器与事件处理 ▪ 策略处理、任务模式逻辑和主机升级上报。 |
| 诊断 | ▪ 日志 ▪ 故障捕获 ▪ 转储收集 ▪ 跟踪钩子 |
此页面对您有帮助吗?
