
关键参数
- 波特率 — 通信速度(每秒比特数)
- 起始/停止位 — 帧定界符
- 奇偶校验位 — 可选的错误检查
- 数据位 — 每帧 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 设备(缺少 /dev/ttyHS*)
未检测到 UART 设备(缺少 /dev/ttyHS*)
- 验证设备树 status 为
"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 节点的设备树 status 设置为
"ok" - GPIO 引脚已正确配置和映射
- QUPAC 访问控制已正确配置
- 两端的波特率一致
- 流控制设置一致
- 设备文件权限正确

