MYZR RZ/V2H EK320安装CH340驱动


有时候我们希望一些外设可以直接通过串口USB接入linux中,这样既可以让A55直接对外设的数据进行接收处理,还可以节省我们的引脚资源。但是一般的嵌入式开发板不带CH340驱动,包括EK320这块开发板。所以我们需要手动编译驱动安装。有两种方法:①将驱动编译成.ko模块文件然后拷贝至开发板挂载驱动。②直接将驱动编译进内核中。由于主播在尝试方法①的时候发现并不十分稳定,还有可能造成内核崩溃。所以建议使用方法②。

1.修改配置,编译新内核

打开wsl2,进入我们之前已经创建过的linux目录。在目录下输入并执行:

make ARCH=arm64 menuconfig

打开图形化配置界面后进入:

Device Drivers  --->
  [*] USB support  --->
      [*] USB Serial Converter support  --->
          <*> USB Winchiphead CH341 Single Port Serial Driver

找到USB Winchiphead CH341 Single Port Serial Driver,按下键盘上的Y。保存后退出图形化配置界面。

回到命令行后输入并执行以下指令:

unset LD_LIBRARY_PATH LDFLAGS CFLAGS CXXFLAGS
source /opt/poky/3.1.31/environment-setup-aarch64-poky-linux

输入并执行以下命令:

cat << 'EOF' >> .config
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CH341=y
EOF

make ARCH=arm64 olddefconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- -j16 Image

执行完毕后在linux/arch/arm64/boot可以得到新的内核文件。将他拷贝至U盘,替换原有的Image文件后重新烧录系统。

2.验证CH340驱动

重新烧录后将你的USB串口插在USB接口上,上电启动后在命令行输入以下指令:

ls -l /dev/ttyUSB*

可以看到输出以下信息:

crw-rw---- 1 root dialout 188, 0 Sep 20 10:44 /dev/ttyUSB0

可以看到已经识别出ttyUSB0这个端口了,然后我们对端口波特率进行设置,以及接收数据。这里博主用的是维特的陀螺仪进行验证,陀螺仪回传频率1000HZ,波特率设置为921600:

stty -F /dev/ttyUSB0 921600 cs8 -cstopb -parenb clocal raw -echo

输入以下命令开始监听串口回传:

hexdump -C /dev/ttyUSB0

可以看到命令行中输出大量数据,随机挑选一帧数据发现符合维特的通信标准。

大家也可以直接将开发板串口和电脑串口连接在一起由电脑的串口助手进行发送,查看开发板是否可以接收,或者用单片机发送数据。

,

发表回复

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