UART配置调试指南

UART配置(硬件描述)
1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO16作为UART1_TX,GPIO17作为UART1_RX为例。
UART配置调试指南
UART配置调试指南
2.查找GPIO16与GPIO17对应的BLSP,以及检查GPIO16与GPIO17是否可以作为UART来使用。根据文档,GPIO16与GPIO17对应BLSP3。
GPIO NUMBER FUNCTION
GP10_0,GPIO_1 BLSP1
GP10_4,GPIO_5 BLSP2
GP10_16,GPIO_17 BLSP3
GP10_20,GPIO_21 BLSP4
3.查找I2C部分BLSP3对应内容,包括其物理地址、reg size、中断号......









UART配置(软件概述)
1.进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937-pinctrl.dtsi文件
GPIO配置如下:
UART配置调试指南
UART配置调试指南
注意:1. MSM8917 的 pinctrl 文件为 msm8917-pinctrl.dtsi
2. MSM8953 的 pinctrl 文件为 msm8953-pinctrl.dtsi

2.进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937.dtsi文件
添加一个新的设备树节点:
UART配置调试指南
UART配置调试指南
注意:1.红色方框中的内容需根据第三步内容进行修改
2. MSM8917 对应的文件为 msm8917.dtsi
3. MSM8953 对应的文件为 msm8953.dtsi
  1. 进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937-qrd.dtsi文件
配置相关内容,进而使blsp2_uart1运行
配置如下:
UART配置调试指南
UART配置调试指南
注意:1.配置内容需放置在blsp1_uart2配置内容后面,保证先从blsp1_uart2开始运行
2.MSM8917 对应的文件为 msm8917-qrd.dtsi
3.MSM8953 对应的文件为 msm8953-qrd.dtsi
4.如果需要配置四路uart,因为相关的uart驱动文件只配置三路uart,所以,我们需要进入
kernel/msm-3.18/drivers/tty/serial路径下修改msm_serial_hs_lite.c文件
修改如下,添加一路uart
UART配置调试指南

5.编译kernel,在顶层目录下make bootimage –j12,在out目录下生成boot.img文件
路径为 LA.UM.5.6 /out/target/product/msm8937_64/boot.img
在DOS命令下,adb reboot bootloader
fastboot flash boot d:\\xxx\boot.img
若显示okay,执行 fastboot reboot。
注意:1.MSM8917 对应的路径为 out/target/product/msm8937_32/boot.img
2.MSM8953 对应的路径为out/target/product/msm8953_64/boot.img



UART调试
  1. 验证dev下是否产生相关的设备节点
adb shell
ls /dev/ttyHSL*
查看相关的设备节点是否生成
  1. 验证uart的读写功能是否正常
  1. 、经过编译后生成可执行文件uartwritetest和uartreadtest。然后通过adb命令push到system/bin下。
  2. 、设置相关uart调试界面
设置如下
UART配置调试指南

  1. uartwritetest写操作。连接好串口,通过adb shell登录设备cd /system/bin下执行uartwritetest ttyHSL0 115200 hello结果如下:UART配置调试指南

在串口调试界面打印出字符串hello
  1. 、uartreadtest读操作。通过adb shell登录设备cd/system/bin执行如下:UART配置调试指南

执行命令uartreadtest ttyHSL0 115200在发送端输入字符串点击发送,接收端会收到相应的字符串