免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1939 | 回复: 0
打印 上一主题 下一主题

USB模拟串口 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-06 14:06 |只看该作者 |倒序浏览



超级终端如何应用usb模拟的串口



双向USB转串口实现例子步骤:

LINUX端内核配置需加入USBgadget支持,9261UDP支持以及usb-serial.支持。

                         i.              /linux-kernel/driver/usb/gadget/serial.c中
#define GS_DEFAULT_USE_ACM      0该为
#define GS_DEFAULT_USE_ACM      1
                       ii.              需在/dev/下加入ttygs0 c 127 0
命令为mknod  /dev/ttygs0  c  127  0
                      iii.              /etc/inittab中最后加入B:2345:respawn:/sbin/getty 115200 ttygs0


      windows端需要加入usb- serial驱动支持
提供文件名为gserial.inf和usbser.sys

l         成功在windows的超级终端用 usb-serial串口进入步骤:
1.         按照上面编译内核及其文件系统/dev , /etc/inittab文件。


2.         用以前的方式打开超级终端,启动9261系统到内核启动完毕,此时连通usb线,在windows端,会出现“发现新硬件,安装驱动的提示,”,手动安装即可,确认成功,在“我的电脑”右击鼠标,查看属性,找到“硬件设备管理器”,并在“端口”项目中找到“Gadget Serial”。


3.         重新启动9261系统,进入sh提示符后,等待直到
gs_open: (0,c0014000,c0cb2ee0) device is not connected
gs_close: NULL port pointer
出现,如未出现,说明前面操作有问题。在等待字符出现后,重新拔插一次USB线,会立即出现:
gs_disconnect: Gadget Serial disconnected
gs_setup_complete: status error, status=0, actual=16, length=18
gs_disconnect: Gadget Serial disconnected
gs_set_config: Gadget Serial configured, full speed CDC-ACM config
此时你可以新建一个超级终端,选择端口为“gadget serial“,我这里是com5
其他配置与以前超级终端一样,bd 115200 之后回车进入,就有如下界面:
Familiar Linux v0.8.3 ebd9261 ttygs0

ebd9261 login:






附录[一]:

gserial . inf     come from :/linux/document/usb/gadget_serial.txt

[Version]
Signature="$Windows NT$"
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%LINUX%
DriverVer=08/17/2004,0.0.2.0
; Copyright (C) 2004 Al Borchers (
alborchers@steinerpoint.com
)
[Manufacturer]
%LINUX%=GSerialDeviceList
[GSerialDeviceList]
%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
[DestinationDirs]
DefaultDestDir=10,System32\Drivers
[GSerialInstall]
CopyFiles=GSerialCopyFiles
AddReg=GSerialAddReg
[GSerialCopyFiles]
usbser.sys
[GSerialAddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,usbser.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[GSerialInstall.Services]
AddService = usbser,0x0002,GSerialService
[GSerialService]
DisplayName = %GSERIAL_DISPLAY_NAME%
ServiceType = 1                  ; SERVICE_KERNEL_DRIVER
StartType = 3                    ; SERVICE_DEMAND_START
ErrorControl = 1                 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\System32\Drivers\usbser.sys
LoadOrderGroup = Base
[Strings]
LINUX = "Linux"
GSERIAL = "Gadget Serial"
GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"

附录[二]:usbser.sys

你可以在\WINDOWS\Driver Cache\i386\sp2.cab中找到
或者g.cn  找找
















本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22754/showart_1384643.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP