概述
UART配置(硬件描述)
1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO16作为UART1_TX,GPIO17作为UART1_RX为例。
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配置如下:
注意:1. MSM8917 的 pinctrl 文件为 msm8917-pinctrl.dtsi
2. MSM8953 的 pinctrl 文件为 msm8953-pinctrl.dtsi
2.进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937.dtsi文件
添加一个新的设备树节点:
注意:1.红色方框中的内容需根据第三步内容进行修改
2. MSM8917 对应的文件为 msm8917.dtsi
3. MSM8953 对应的文件为 msm8953.dtsi
- 进入kernel/msm-3.18/arch/arm/boot/dts/qcom/路径下修改msm8937-qrd.dtsi文件
配置相关内容,进而使blsp2_uart1运行
配置如下:
注意: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
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:\xxxboot.img
若显示okay,执行 fastboot reboot。
注意:1.MSM8917 对应的路径为 out/target/product/msm8937_32/boot.img
2.MSM8953 对应的路径为out/target/product/msm8953_64/boot.img
UART调试
- 验证dev下是否产生相关的设备节点
adb shell
ls /dev/ttyHSL*
查看相关的设备节点是否生成
- 验证uart的读写功能是否正常
- 、经过编译后生成可执行文件uartwritetest和uartreadtest。然后通过adb命令push到system/bin下。
- 、设置相关uart调试界面
设置如下
- uartwritetest写操作。连接好串口,通过adb shell登录设备cd /system/bin下执行uartwritetest ttyHSL0 115200 hello结果如下:
在串口调试界面打印出字符串hello
- 、uartreadtest读操作。通过adb shell登录设备cd/system/bin执行如下:
执行命令uartreadtest ttyHSL0 115200在发送端输入字符串点击发送,接收端会收到相应的字符串
最后
以上就是务实汽车为你收集整理的UART配置调试指南的全部内容,希望文章能够帮你解决UART配置调试指南所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复