
关键参数
- 波特率 —— 通信速率(比特每秒)
- 起始/停止位 —— 帧定界符
- 奇偶校验位 —— 可选的错误检查
- 数据位 —— 每帧 5–9 位
- 流控 —— 通过 CTS/RTS 的硬件握手

各子系统的传输模式
接口组件
设备树源文件
API
软件配置
Linux 设备树示例
四线 UART(带流控):内核配置
编辑kernel_platform/kernel/arch/arm64/configs/qcom_defconfig:
验证
1
验证 UART 设备注册
2
配置 UART 设置
3
运行回环测试
打开两个 SSH 终端。终端 1(写入):终端 2(读取):预期输出:
Hello UART调试
启用调试日志
故障排查
未检测到 UART 设备(/dev/ttyHS* 缺失)
未检测到 UART 设备(/dev/ttyHS* 缺失)
- 确认设备树状态为
"ok" - 确认内核配置中
CONFIG_SERIAL_QCOM_GENI=y - 检查 GPIO 引脚配置和 QUPAC 访问控制设置
数据传输失败 / 数据乱码
数据传输失败 / 数据乱码
- 确认两端波特率一致
- 检查流控配置(CTS/RTS)
- 先用回环模式测试
权限被拒绝
权限被拒绝
CPU 占用高 / 传输缓慢
CPU 占用高 / 传输缓慢
- 高速传输时从 FIFO 模式切换到 DMA 模式
- 检查中断统计信息:
cat /proc/interrupts | grep uart - 检查电源管理:
cat /sys/kernel/debug/pm_genpd/pm_genpd_summary
调试检查清单
- 内核配置包含
CONFIG_SERIAL_QCOM_GENI=y - UART 节点的设备树状态设为
"ok" - GPIO 引脚正确配置并映射
- QUPAC 访问控制配置正确
- 两端波特率一致
- 流控设置一致
- 设备文件权限正确

