野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8971|回复: 4

[其它] 经历---imx6ull pro emmc开发板串口开启和简单测试

[复制链接]
回帖奖励 7 火花 回复本帖可获得 1 火花奖励! 每人限 2 次
发表于 2021-10-10 17:46:54 | 显示全部楼层 |阅读模式
本帖最后由 monark 于 2021-10-11 09:15 编辑

平台:imx6ull pro emmc开发板    镜像系统:2021.9.2的debian镜像系统
内核源码:GitHub - Embedfire/ebf_linux_kernel: embedfire all linux serial product kernel code   ebf_4.19.35_imx6ul分支
1. 说明
imx6ull pro emmc开发板可以开启8个uart,其中uart1默认是用在串口登录。
鲁班猫系统串口开启比较简单,只需要在/boot/uEnv.txt文件中添加设备树插件。
镜像系统中带了uart2-uart8设备树插件,可以看下下图:
野火论坛202110101707006041..png
要开启对应的设备,需要在/boot/uEnv.txt文件中添加设备树插件,并且注意下设备管脚的复用。
串口开启后会在开发板系统/dev/目录下有设备文件,串口1是对应的是/dev/ttymxc0,串口2是/dev/ttymxc1,,后面依次对应。

2. 串口的开启

开启UART2和UART3:
在内核源码的arch/arm/boot/dts/overlays/目录下,可以查看到串口2,3使用了TXD和RXD引脚,
野火论坛202110101737013873..png
没有其他设备使用这些引脚。开启uart2和3只需在/boot/uEnv.txt文件中取消下面两个的注释:
  1. #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart2.dtbo
  2. #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart3.dtbo
复制代码

单独开启UART4:
需要在在/boot/uEnv.txt文件中加上
  1. dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart4.dtbo
复制代码
并注释掉
  1. #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-i2c1.dtbo
复制代码

单独开启UART5:
串口5的引脚,可以被I2C2占用,因此设备树插件中有描述I2C2节点的设备都关闭。需要关闭sound,hdmi,和cam的设备树插件。
需要在在/boot/uEnv.txt文件中加上
  1. dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart5.dtbo
复制代码
并注释掉
#dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-12c2.dtbo
#dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-hdmi.dtbo
#dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-sound.dtbo
#dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-cam.dtbo


单独开启UART6:
由UART6的设备树插件源文件和数据手册可知,UART6是复用在CSI_PIXCLK和CSI_MCLK引脚上
开启UART6需要关闭摄像头的设备树插件。
在/boot/uEnv.txt文件中加上
  1. dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart6.dtbo
复制代码
并注释掉
  1. #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-cam.dtbo
复制代码

开启UART7和UART8:UART7和UART8的设备树插件使用的引脚与LCD一些引脚共用,可以关闭下lcd的设备树插件。
需要在/boot/uEnv.txt文件中加上
  1. dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-uart7.dtbo
复制代码
并注释掉
  1. #dtoverlay=/usr/lib/linux-image-4.19.35-imx6/overlays/imx-fire-lcd.dtbo
复制代码

3. 串口简单测试
开启全部串口进行简单测试,修改/boot/uEnv.txt文件如下:
野火论坛202110101737496648..png
野火论坛202110101738181648..png

对应的设备文件
野火论坛202110101746449663..png

简单测试串口输出,通过usb转TTl模块连接开发板串口,测试如下:
野火论坛202110101738432259..png

测试的波特率为9600,可以使用命令stty -F /dev/ttymxc1查看对应串口的通信参数。


默认串口引脚:
野火论坛202110101738564184..png

最后,如果出现开启对应设备树插件,关闭对应设备,之后没有对应设备文件时。
可以烧录最新的镜像系统,或者下载内核源码,编译设备树和设备树插件文件,替换掉开发板系统的设备树。
另外,这是简单测试,有问题可以留言讨论下。

4.参考
13. 串口通讯与终端设备 — [野火]EBF_6ULL开发板快速使用手册 文档 (embedfire.com)
https://doc.embedfire.com/linux/imx6/hardware/zh/latest/board/ebf6ull_pin_tool.html
















回复

使用道具 举报

发表于 2021-10-11 17:59:25 | 显示全部楼层

回帖奖励 +1 火花

学习了666
回复

使用道具 举报

发表于 2021-10-12 08:30:05 | 显示全部楼层

回帖奖励 +1 火花

不错,我还卡在变量定义。
回复 支持 反对

使用道具 举报

发表于 2021-10-21 14:32:31 | 显示全部楼层

回帖奖励 +1 火花

如果我想修改波特率,该怎么设置
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-22 09:18:18 | 显示全部楼层
ssss. 发表于 2021-10-21 14:32
如果我想修改波特率,该怎么设置

使用这个命令修改下,stty -F /dev/ttymxc1 speed 115200,串口其他设置可以查下stty命令的使用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-20 06:28 , Processed in 0.037059 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表