[技术问答]

如何实现新塘的vcom在Linux下的Driver?

[复制链接]
1336|14
手机看帖
扫描二维码
随时随地手机跟帖
elephant00|  楼主 | 2024-6-11 11:36 | 显示全部楼层 |阅读模式
开发用到NUC123 的vcom,现在移植到linux下用,求高手指导一下如何实现新塘的vcom在Linux下的 Driver

使用特权

评论回复
奔跑的牛| | 2024-6-13 11:39 | 显示全部楼层
请参考linux官方的Gadget serial driver开发文档实现

使用特权

评论回复
小灵通2018| | 2024-6-13 22:11 | 显示全部楼层
跟裸机的驱动不同吗

使用特权

评论回复
小灵通2018| | 2024-6-13 22:11 | 显示全部楼层
跟裸机的驱动不同吗

使用特权

评论回复
月亮一键变蓝| | 2024-7-11 15:28 | 显示全部楼层
Nuvoton NUC123 系列微控制器通常用于嵌入式系统,其 VCOM(Virtual COM Port)功能允许通过USB接口模拟串行端口,以便与主机进行通信。在Windows环境下,Nuvoton 提供了相应的驱动程序来支持这一功能。然而,在Linux环境下,通常需要编写或适配一个内核驱动程序来实现相同的功能。
18963668f89a8a6b52.png

使用特权

评论回复
一只眠羊| | 2024-7-11 15:30 | 显示全部楼层
在探测函数中,你需要分配并初始化一个USB设备结构,设置端点,并注册一个字符设备或TTY设备来处理串行通信。在数据传输函数中,你需要实现读写操作,处理USB中断传输或批量传输。

使用特权

评论回复
我吃小朋友| | 2024-7-11 18:00 | 显示全部楼层
了解USB协议和设备描述符,首先,你需要了解NUC123 VCOM设备的USB设备描述符、配置描述符、接口描述符和端点描述符。这些信息通常可以在Nuvoton提供的USB描述符文档中找到。

使用特权

评论回复
在曼谷的春| | 2024-7-11 20:00 | 显示全部楼层
Linux内核已经包含了许多USB设备的驱动程序。你可以检查内核源码,看看是否已经有适用于类似设备的驱动程序。如果没有现成的驱动程序,你可能需要编写一个新的USB驱动程序。这通常涉及到编写一个内核模块,该模块实现了USB设备的探测(probe)、断开(disconnect)、数据传输等功能。

使用特权

评论回复
编写一个内核模块,该模块实现了USB设备的探测(probe)、断开(disconnect)、数据传输等功能。你需要使用Linux内核提供的USB子系统API。

使用特权

评论回复
一只眠羊| | 2024-7-12 04:00 | 显示全部楼层
在探测函数中,你需要分配并初始化一个USB设备结构,设置端点,并注册一个字符设备或TTY设备来处理串行通信。在数据传输函数中,你需要实现读写操作,处理USB中断传输或批量传输。

使用特权

评论回复
她已醉| | 2024-7-12 06:00 | 显示全部楼层
编译并加载内核模块,确保设备被正确识别。使用dmesg命令查看内核日志,检查是否有错误信息。使用lsusb命令查看设备是否被正确枚举。

使用特权

评论回复
春日负喧| | 2024-7-12 08:00 | 显示全部楼层
使用串行通信工具(如minicom或screen)测试VCOM端口是否可以正常工作。

使用特权

评论回复
故意相遇| | 2024-7-12 10:00 | 显示全部楼层
编写文档,记录驱动程序的安装和使用方法。定期更新驱动程序,以适应新的内核版本或修复可能出现的问题。

使用特权

评论回复
风凉| | 2024-7-12 20:00 | 显示全部楼层
由于内核开发具有一定的风险,建议在开发和测试过程中使用虚拟机或备用系统,以避免对主系统造成不可逆的影响。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

928

主题

2536

帖子

4

粉丝