USB

USB采用主从结构,所有传输由主机发起。传输类型包括控制、批量、中断和实时传输。端点是USB传输对象,每个端点有特定类型和方向。USB内核配置涉及HID设备支持,并可以通过加载驱动模块进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

USB是主从结构的
所有的USB传输,都是从USB主机这方发起,USB设备没有“主动”通知USB主机的能力。
例子:USB鼠标滑动一下立刻产生数据,但是它没有能力通知PC机来读数据,只能被动地等侍PC机来读。


USB的传输类型:
1.控制传输:可靠,时间有保证,比如:USB设备的识别过程
2.批量传输:可靠,时间没有保证,比如:U盘
3.中断传输:可靠,实时,比如:USB鼠标
4.实时传输:不可靠,实时,比如:USB摄像头


USB传输的对象:端点(endpoint)
1.我们说“读U盘”、“写U盘”,可以细化为:把数据写到U盘的端点1,从U盘的端点2里读出数据
2除了端点0外,每一个端点只支持一个方向的数据传输
3.端点0用于控制传输,既能输出也能输入


每一个端点只有一个传输类型,一个传输方向


术语里,程序里说的输入(IN)、输出(OUT) 都是基于USB主机的立场说的。
    比如鼠标的数据是从鼠标传到PC机,对应的端点称为“输入端点”

-------------------------------------------------------------------------------------------
USB 内核配置
cd /work/system/linux-2.6.22.6/
make menuconfig
进入内核菜单:
Device driver
HID Device
<>USB HUman Interface Device (full HID) support    (按N去除)

-----------------------------------------
make uImage


cp arch/arm/boot/uImage  /work/nfs_root/uImage_nohid


-------------------------------------------


重启开发板, 进入串口
按空进入uboot菜单
按q 退出
通过网络下载内核:nfs   30000000 192.168.1.19:/work/nfs_root/uImage_nohid
启动内核:bootm 30000000                 (如果开发板ip不对,设置IP,       set addrip 192.168.1.17               处于同一个网段)


挂接网络文件系统: mount    -t    nfs    -o    nolock,vers=2       192.168.1.19:/work/nfs_root/first_fs            /mnt
cd /mnt
ls           (列出网络文件下的驱动文件)
装载驱动:insmod usbmouse_as_key.ko


---------------------------------------------


在开发板上接入鼠标


测试:
ls /dev/event*


----------------------
cat /dev/tty1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值