
关键参数
- 波特率 — 通信速率(每秒位数)
- 起始/停止位 — 帧定界符
- 奇偶校验位 — 可选的错误检查
- 数据位 — 每帧 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 访问控制已正确配置
- 两端波特率一致
- 流控设置一致
- 设备文件权限正确

