测试平台

宿主机平台:Ubuntu 16.04.6

目标机:iMX6ULL

目标机内核:Linux 4.1.15

目标机添加串口设备

一般嵌入式主板的默认镜像可能只配置了调试串口,并用于 console 控制台打印;

接下来对怎么样通过设备树来添加用户串口进行描述;

前提:

目标机以及正常烧录 uboot、内核、文件系统、dtb等;本文仅更新设备树dtb文件;

设备树文件修改

在内核源码中找到相关板子对应的dtb文件;

位置: arch/arm/boot/dts 目录下

本文使用的板子相关文件有:

imx6ull.dtsi // 官方通用板层dtsi

mys-imx6ull-14x14-evk.dts // 基于imx6ull-14x14-evk.dts模板修改

mys-imx6ull-14x14-evk-gpmi-weim.dts // 用户层dts

添加 uart3和uart4 的支持,修改 mys-imx6ull-14x14-evk.dts 文件如下

pinctrl_uart2: uart2grp {

fsl,pins=

>;

};

pinctrl_uart2dte: uart2dtegrp {

fsl,pins=

>;

};/*增加uart3/4/5的引脚配置*/pinctrl_uart3: uart3grp {

fsl,pins=

>;

};

pinctrl_uart4: uart4grp {

fsl,pins=

>;

};

pinctrl_uart5: uart5grp {

fsl,pins=

>;

};

...../*使能串口*/

&uart1 {

pinctrl-names = "default";

pinctrl- = ;

status= "okay";

};&uart2 {

pinctrl-names = "default";

pinctrl- = ;/*fsl,uart-has-rtscts;*/

/*for DTE mode, add below change*/

/*fsl,dte-mode;*/

/*pinctrl-0 = ;*/status= "disabled";

};/*增加使用串口,其中使能3、关闭4/5*/

&uart3 {

pinctrl-names = "default";

pinctrl- = ;

status= "okay";

};&uart4 {

pinctrl-names = "default";

pinctrl- = ;

status= "okay";

};/*这里必须注意一点,由于UART5和I2C2接口的引脚是复用的,I2C2默认是使能的所以必须禁用I2C2,再使能UART5.*/

&uart5 {

pinctrl-names = "default";

pinctrl- = ;

status= "disabled";

};

然后重新编译生成 设备树 dtb 文件

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-distcleancp arch/arm/configs/mys_imx6_defconfig .configmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

生成的 dtb 文件:arch/arm/boot/dts/mys-imx6ull-14x14-evk-gpmi-weim.dtb

设备树文件更新

mys-imx6ull-14x14-evk-gpmi-weim.dtb 替换 /Profiles/Wh Linux Update/OS Firmware/files/ 下面的 dtb文件

然后执行 mfgtool2-linux-mys-6ulx-nand-dtb.vbs

Set wshShell = CreateObject("WScript.shell")

wshShell.run"mfgtool2.exe -c""Wh Linux Update""-l""NAND-dtb""-s""lite=l""-s""6uluboot=14x14evk""-s""nand=nand""-s""6uldtb=14x14-evk""-s""nanddtb=gpmi-weim""-s""part_uboot=0""-s""part_kernel=1""-s""part_dtb=2""-s""part_rootfs=3""-s""ddrsize=256""-s""rootfs_name=core-image-base"""Set wshShell= Nothing

更新成功,设备重启之后,看到添加的串口设备已支持

linux串口对调,Linux串口调试详解相关推荐

  1. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  2. Linux下的tty和pts详解

    Linux下的tty和pts详解 今天在在使用who和ps命令的时候,出现tty1或者pts/0,因为不太懂就查了一下: 使用tty命令可以查看现在使用的终端标识: 使用ctrl+alt+[F1~F8 ...

  3. Linux strace、pstack 命令 使用详解

    Linux strace.pstack 命令 使用详解 strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息. 可谓是 linux 下的调试利器, ...

  4. linux下防火墙iptables用法规则详解

    linux下防火墙iptables用法规则详解 分享者: du52.com 邮件: wangaibo168@163.com 主页: http://www.du52.com linux下防火墙iptab ...

  5. linux日志配置含义,Linux操作系统中的日志功能详解

    日志系统将我们系统运行的每一个状况信息都使用文字记录下来,这些信息有助我们观察系统运行过程中正常状态和系统运行错误时快速定位错误位置的途径等;下面学习啦小编主要概述一下Linux操作系统中的日志功能. ...

  6. linux中iptables配置文件及命令详解详解

    linux中iptables配置文件及命令详解详解 2018年05月04日 14:23:41 hxpjava1 阅读数 956 linux中iptables配置文件及命令详解详解 iptables配置 ...

  7. Linux中/proc目录下文件详解

    Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...

  8. linux tf命令,Linux系统命令介绍之vmstat命令详解

    今天小编要跟大家介绍的vmstat命令详解.熟悉Linux系统和使用Linux系统工作的小伙伴都知道Linux的命令有很多,而真正在工作中用到的命令应该不超过几十个,为了让大家更好的掌握这些命令,小编 ...

  9. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  10. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

最新文章

  1. C语言中Static和Const关键字的的作用
  2. SpringMVC实现简单登录
  3. SpringBoot快速构建项目
  4. css渲染(二) 文本
  5. Alibaba之MySQL宝典_阿里巴巴内部 MySQL宝典 意外流出!极致经典,堪称数据库的天花板...
  6. buck变换器设计matlab_在数字控制系统中实现LLC变换器的电流模式控制的思考
  7. eclipse你的主机中的软件中止了一个已建立的连接。_如何备份/恢复一个基于Windows系统的操作面板?...
  8. 被逮到一个初始状态考虑不周的Bug
  9. 正在考虑微服务架构的松耦合?小心这些陷阱
  10. RFID射频识别技术介绍及简单应用
  11. 史上最简单的word文档docx文档解密方法,忘记word文档docx密码怎么办?
  12. gds文件 导出_GaussDB 200使用GDS服务导入导出数据
  13. 动手学习深度学习——2.7 文档(Pytorch)
  14. 为什么程序员话少钱多死得早?一位人生悲惨的程序员与你讲述其中原因
  15. windows下,C++中调用命令行并且获取命令行的输出
  16. Linux磁盘分区的详细步骤(图解linux分区命令使用方法)
  17. matlab 加节点,添加图节点名称、边权重和其他属性
  18. win2003 php配置,Win2003 PHP环境配置
  19. Linux设备驱动-platform虚拟总线dya01
  20. 【ICDE 2022】阿里发布稀疏模型训练框架HybridBackend,单位成本下训练吞吐提升至5倍

热门文章

  1. 使用 session_destroy() 销毁session文件时 报 Trying to destroy uninitialized session 错误解决办法
  2. java string能存储多长_String 有多长?
  3. 代码批量加引号_如何用Word批量制作员工工作证?1分钟搞定1000份!只需三步
  4. 测试接口python常用命令_用python实现接口测试(四、操作MySQL)-阿里云开发者社区...
  5. c语言对用下标法二维数组遍历,二维数组遍历:下标法与指针法的较量
  6. itextdef将动态html转为pdf,[C#]使用第三方开源库iText7.pdfHtml,将Html转换成Pdf,以及如何以Html作为打印模板...
  7. 深度linux添加xp,Linux和Windos XP下向路由表添加路由
  8. matlab制作萨克斯音乐,Cmusic Productions SAXBAND Soprano Sax KONTAKT 萨克斯
  9. 计算机跨考英语口译,英语口译学习网_考研复试经验:跨考过来人谈复试感受_沪江英语...
  10. 服务器生成php文件夹下,PHP创建文件以供下载,而不在服务器上保存