Linux系统imx6ull开发板内核安装STM Virtual ComPort虚拟串口驱动

目录


前言

本文硬件使用正点原子imx6ull-min底板+emmc ddr512核心板,软件使用正点原子针对imx6ull开发板提供的出场Linux内核源码、设备树与根文件系统,发送数据设备视为提供STM32虚拟串口的设备。

一、问题描述

目前有这么一个场景,有一个数据采集卡可以通过USB口不断的向外发送数据,接收数据的设备采用正点原子的imx6ull-min开发版,通过开发上的一个USB host口来接收数据。数据采集卡通过STM32虚拟串口发送数据,而正点原子对于imx6ull-min开发提供的内核数据源码和根文件系统是不带USB转串口驱动的,所以从数据采集卡USB口连接到imx6ull-min上USB口时,开发板只能识别出有USB设备接入,并不能识成串口,那么该如何解决这个问题呢?

二、解决步骤

1.更改option.c文件

需要找到内核源码路径 /drivers/usb/serial 下的option.c文件,对文件内容进行修改。

添加宏定义:

#define STM32F4_VENDOR_ID 0x0483
#define STM32F4_PRODUCT_ID 0x5740


PS:STM32F4这个名称不影响结果,STM32F1系列的也可以写成STM32F4。

 添加设备至识别目录中:

USB_DEVICE(STM32F4_VENDOR_ID, STM32F4_PRODUCT_ID)

2.修改内核编译选项

我是通过menuconfig图形化界面来更改内核编译选项,进入如下菜单,将USB driver for GSM and CDMA modems置为*号,这个目录下是Linux自带USB转串口驱动,根据不同的USB转TTL芯片勾选各自的驱动,如CH340芯片就勾选CH341的驱动,FT232芯片就勾选FTDI的驱动,至于为啥STM32虚拟串口会勾选GSM的驱动,我也不太清楚。。。

Device Drivers --->

          USB support --->

                 USB Serial Converter support --->

                          USB driver for GSM and CDMA modems    

 PS:要先将上一层的USB Serial Converter support置为*号才将USB driver for GSM and CDMA modems置为*号。

3.编译内核并加载到开发板

将编译完成的zImage文件重新加载至开发板中,进程测试。

如图所示,USB设备2是STM32 Virtual ComPort,而开发板也已经能够识别到STM32虚拟串口了,并且生成对应的设备ttyUSB1。

使用minicom进行测试也能进行正常的接收。 

总结


例如:以上就是今天要讲的内容,本文仅仅简单介绍了imx6ull开发板内核安装STM Virtual ComPort虚拟串口驱动的方法,若有不对的地方,欢迎大家指正,谢谢。

参考博客:

(53条消息) linux内核驱动增加STM32虚拟串口设备驱动_linux内核安装虚拟串口驱动_grubly的博客-CSDN博客

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Linux开发板连接串口的步骤如下: 1. 首先,确定电脑自带的串口设备名。对于电脑自带的串口,设备名通常为ttyS0、ttyS1等;对于使用USB转串口的串口扩展设备,设备名为ttyUSB0、ttyUSB1等。可以通过命令"dmesg | grep tty"来查看设备名。 2. 进入主目录,并进入serial port setup配置串口相关参数信息,如波特率、停止位、校验位等。确保设置与开发板的串口参数一致。 3. 保存设置。选择Save setup as dfl将当前设置保存为默认设置,或选择Save setup as df1保存为其他设置。 4. 退出配置菜单。选择Exit退出设置。 5. 下次需要连接串口时,直接输入"minicom"命令即可进入串口连接界面。如果想以普通用户权限进入,需要进行以下操作: - 使用命令"sudo vim /etc/udev/rules.d/70-ttyusb.rules"编辑udev规则文件。 - 在文件中添加如下内容:"KERNEL=="ttyUSB[0-9]*",MODE="0666""。 - 保存文件,并使用命令"sudo chmod 666 /etc/udev/rules.d/70-ttyusb.rules"给予文件可读写权限。 - 重新插入USB转串口设备,普通用户即可连接串口。 6. 如果需要在PC机上通过串口接收开发板发送的文件,可以使用以下步骤: - 切换到目标板的接收路径。 - 按下CTRL A,然后按下Z键,选择zmodem接收模式。 - 查看相关接收文件。 7. 如果需要在开发板上通过串口接收PC机发送的文件,可以使用以下步骤: - 使用cd命令切换到目标文件所在目录。 - 使用rz命令接收文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [虚拟机主机linux(unbuntu)和开发板使用串口连接以及发送接收文件](https://blog.csdn.net/Feng_8071/article/details/82956200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值