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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java基础篇:对象拷贝:clone方法 以及 序列化

    Java基础篇:对象拷贝:clone方法 以及 序列化

    2021年4月8日
    114
  • JavaScript数组求和_js获取对象数组的第一个元素

    JavaScript数组求和_js获取对象数组的第一个元素您如何找到其元素的总和?好吧,解决方案是一个array.reduce()方法。Array.prototype.reduce()函数可用于遍历数组,将当前元素值添加到先前项目值的总和中。Javascript和数组要查找两个数字的Java和数组,请使用array.reduce()方法。reduce()方法将数组简化为单个值。reduce()函数为数组的每个值(从左到右)执行提供的函数。方法的返回值存储在累加器中(结果/总计)。句法array.reduce(function(total,cur

    2022年9月28日
    0
  • MapReduce编程实例(一)

    MapReduce编程实例(一)前提准备:1.hadoop安装运行正常,请参考2.集成开发环境正常,请参考Ubuntu搭建Hadoop源码阅读环境开发示例:WordCount本示例详细的介绍如何在集成环境中运行第一个MapReduce程序WordCount

    2022年6月18日
    27
  • 数据库 casewhen 的用法「建议收藏」

    数据库 casewhen 的用法「建议收藏」select[Id],[TrainNumber],[SupplierId],casewarehouseTypewhen0then[Amount]else[Amount]*-1endasIsOut//数据对比,[Amount],[ClassId],[WarehouseType],[Remark],[SetInDate]fromWWeiqinWarehousing

    2022年9月6日
    5
  • Spring AOP 实现原理

    Spring AOP 实现原理什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-OrientedPrograming,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从

    2022年7月12日
    13
  • 华为的面试经历

    华为的面试经历

    2021年12月1日
    48

发表回复

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

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