UART配置调试指南[通俗易懂]

UART配置调试指南[通俗易懂]UART配置(硬件描述)1.根据原理图,查找相关的i2c引脚对应的GPIO值,以GPIO16作为UART1_TX,GPIO17作为UART1_RX为例。2.查找GPIO16与GPIO17对应的BLSP,以及检查GPIO16与GPIO17是否可以作为UART来使用。根据文档,GPIO16与GPIO17对应BLSP3。GPIONUMBERF

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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在发送端输入字符串点击发送,接收端会收到相应的字符串
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180508.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux编辑文件命令vim怎么退出_vim退出命令

    linux编辑文件命令vim怎么退出_vim退出命令一、进入文件vim/etc/profile二、编辑文件按i进行编辑三、保存与退出1.首先按esc键返回命令编辑模式,刚才的Insert会消失2.按英文状态的:3.此时进行:q!不保存文件,强制退出vi命令:w保存文件,不退出vi命令:wq保存文件,退出vi命令4.输入以上命令按enter进行…

    2022年8月24日
    7
  • Python迭代器实现

    Python迭代器实现文章目录欢迎访问我的个人博客引言 iter 和 next 实现可迭代的斐波那契数列类参考欢迎访问我的个人博客博客引言在 Python 编程中 我们经常使用 for in 语句对容器进行迭代 容器类 比如列表 元组等 之所以可以被 for in 语句迭代 是因为这些容器类实现了 iter 魔术方法 这个方法返回一个迭代器对象 迭代器对象实现了 next 魔术方法 这个方法可以移动迭代器和获取迭代器指向的值 如果我们想要实现支持迭代的对象 只需要实现 iter 方法以及 iter 返

    2025年12月11日
    6
  • vm15激活码(JetBrains全家桶)

    (vm15激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BI…

    2022年3月22日
    115
  • python 生成EXE文件 并执行

    python 生成EXE文件 并执行1、电脑桌面,输入“win+R”组合键,在弹出窗口中输入“cmd”,点击确定。2、安装Pyinstaller,在cmd窗口,输入指令“pipinstallpyinstaller”进行网络安装、等待并且确认pyinstaller安装完毕3、安装完毕后,进入要生成exe文件的文件目录。使用指令“pyinstaller-Fxxx.py”生成exe文件。等待生成完毕后,回到源文件目录,在dist目录下,找到生成的exe文件,即可完成Python生成exe文件操作。用python.

    2022年6月7日
    38
  • 我们做出了一个艰难的决定

    我们做出了一个艰难的决定经过半年多的考虑和准备,前天晚上,我们做出了一个艰难的决定:让大儿子在家读书。我厌倦了孩子题海战术,买的课外书根本没有时间读,而他的身心健康变得越来越糟糕了。我知道有很多的理由可以让孩子继续读书,譬如

    2022年7月3日
    22
  • phpstorm 激活码3月最新在线激活

    phpstorm 激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号