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

按子系统划分的传输模式
接口组件
设备树源文件
API
软件配置
Linux 设备树示例
4 线 UART(带流控):内核配置
编辑kernel_platform/kernel/arch/arm64/configs/qcom_defconfig:
验证
1
验证 UART 设备注册
2
配置 UART 设置
3
运行回环测试
打开两个 SSH 终端。终端 1(写入):终端 2(读取):预期输出:
Hello UART调试
启用调试日志
监控 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 访问控制配置正确
- 两端波特率一致
- 流控设置一致
- 设备文件权限正确

