hermes 发表于 2020-5-27 21:57:29

dts编译后烧写进去开启串口无法使用

环境版本如下:
OKMX6UL-C2_Linux4.1.15
飞凌官方给的虚拟机ubuntu12,把OKMX6UL-C2\OKMX6UL-C2(eMMC、NAND版)_Qt5.6+Linux4.1.15用户资料-2020.01.04\Linux\源码\kernel\linux-4.1.15.tar.bz2
解压后进入到arch/arm/boot/dts下面编译板子适配的开启加载的dtb,这里是修改源码dts
imx6ul-14x14-evk-emmc-c2-7-1024x600.dts
在后面追加如下
&uart2 {
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_uart2>;
      status = "okay";
};
&uart3 {
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_uart3>;
      status = "okay";
};

仅编译dtb指令make ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- dtbs
编译成功

编译后的dtb同步到开发板的/run/media/mmcblk1p1/目录下
然后执行sync
然后reboot后ls /dev
可以看到ttymxc1 ttymxc2出来了


然后我用用usb转ttl的线接开发板的引脚,用echo "hello" > /dev/ttymxc1和cat < /dev/ttymxc1
和电脑的串口发现都没反应,ttl的rx和tx反接也试了,gnd也是接了的,引脚图里面的uart2和3都同时试了,也没用

引脚图如下


实际接线如下,这个时候连的是uart2,黑线GND,黄tx 绿rx,反接也试过了,都没消息


想知道问题在哪,我只更新了编译后的dtb,是不是还有什么需要更新

zhichao 发表于 2020-5-28 10:15:10

您看一下您添加的uart的位置是和uart1在一起吗,是否对用到的引脚进行了配置

hermes 发表于 2020-5-28 14:08:28

1、imx6ul-14x14-evk-emmc-c2-7-1024x600.dts里面没有uart的配置,我配置的uart2和3单独添加在这里面的
2、引脚没有做别的配置,因为引用的dts头文件里我看已经配好了的

hermes 发表于 2020-5-28 21:55:48

今天买的短接线,短接了uart2和3,发送接收还是都不行
:L

hermes 发表于 2020-5-28 23:01:18

按照官方应用手册里面的添加uart4,也是没反应
禁用了dma,ttymxc3都出来了

hermes 发表于 2020-5-28 23:31:50


启动的时候说这个引脚不能分配的警告,都是按照官方手册来的
这些问题怎么解决

hermes 发表于 2020-5-29 00:41:40

zhichao 发表于 2020-5-28 10:15
您看一下您添加的uart的位置是和uart1在一起吗,是否对用到的引脚进行了配置

官方有空了记得回答下,我下面加了很多信息了

zhichao 发表于 2020-5-29 10:59:22

您需要在设备树上添加对应的引脚配置,方法在应用笔记上有,您可以参考,再有就是uart的引脚在c2底板的硬件原理图上已经注明,您再仔细看一下

hermes 发表于 2020-5-29 17:14:17

hermes 发表于 2020-5-28 23:01
按照官方应用手册里面的添加uart4,也是没反应
禁用了dma,ttymxc3都出来了

我完全按照应用手册添加的uart4,麻烦看下我上面真多描述

hermes 发表于 2020-5-29 17:17:19

zhichao 发表于 2020-5-29 10:59
您需要在设备树上添加对应的引脚配置,方法在应用笔记上有,您可以参考,再有就是uart的引脚在c2底板的硬件 ...

我完全按照应用手册添加的uart4,麻烦看下我上面真多描述

tuzai9022 发表于 2020-5-29 18:29:20

本帖最后由 tuzai9022 于 2020-5-29 18:30 编辑

几个方法试下:
1、uart2回环,把2/3脚短接,运行下面的命令
       stty -F /dev/ttymxc2 speed 115200 cs8 -parenb -cstopb -echo       cat /dev/ttymxc2   (一个窗口收)
       echo -e "test" > /dev/ttymxc2   (一个窗口发)可以用telnet开多个窗口
2、uart2和uart3连接,rx-tx,tx-rx,gnd-gnd
       stty -F /dev/ttymxc2 speed 115200 cs8 -parenb -cstopb -echo
       stty -F /dev/ttymxc3 speed 115200 cs8 -parenb -cstopb -echo
       cat /dev/ttymxc3 (一个窗口收)
       watch -n 1 'echo -e "test" > /dev/ttymxc2' (一个窗口发)可以用telnet开多个窗口

hermes 发表于 2020-5-31 14:44:55

tuzai9022 发表于 2020-5-29 18:29
几个方法试下:
1、uart2回环,把2/3脚短接,运行下面的命令
       stty -F /dev/ttymxc2 speed 115200...

你说的这个我也试了,这个并不能解决说引脚不对的问题
我一开始就是23脚短接的,连接也是rx-tx gnd这样的,图早就晒出来了
开机启动的那个问题
我觉得才是关键点

zhichao 发表于 2020-6-1 14:29:59

您修改的设备树调用了另一个设备树文件imx6ul-14x14-evk-c2.dts,您看一下这个设备树,里边已经配置了uart1,您再添加其他uart功能再试一下

hermes 发表于 2020-6-1 23:32:14

zhichao 发表于 2020-6-1 14:29
您修改的设备树调用了另一个设备树文件imx6ul-14x14-evk-c2.dts,您看一下这个设备树,里边已经配置了uart1 ...

我就是在里面配置了uart2和3,启动也是报引脚问题。
还原到最初的dts后想配置uart4启动也是引脚问题。
都试了

zhichao 发表于 2020-6-2 09:03:01

uart2引脚的其他复用关掉了吗,uart2引脚被用作gpio,271到274行

hermes 发表于 2020-6-2 10:04:04

关掉了,为了这个我折腾了很久,只开uart2一样告警
不开uart2,只开uart3也一样告警

hermes 发表于 2020-6-2 22:59:16

zhichao 发表于 2020-6-2 09:03
uart2引脚的其他复用关掉了吗,uart2引脚被用作gpio,271到274行


你可以看下
我就在imx6ul-14x14-evk-c2.dts
加了两个地方而已
别的没修改
有问题吗
页: [1]
查看完整版本: dts编译后烧写进去开启串口无法使用