工做记录
- 新内核已经把usbfs废弃掉了,udev使用/dev/bus/usb代替
- 使用testusb必须sudo ./testusb
- composite框架:
.composite.c重复的代码
.f_xyz.c可重用的函数实现(f_sourcesink.c)
.g_xyz.c是写死的,函数,配置,身份,参数(你要是用hid的话,直接用g_hid.c)
- 没有端口那就是设备没有枚举成功,
熟悉枚举协议,用bushound看一下枚举过程,走到哪一步了
协议写的都是0
- 本身改驱动g_xyz.c或者经过functionfs写驱动
- zero.c能够本身注册字符设备或misc设备
- usb的udc应该本身支持dma
- aio_multibuff.c里的双缓存,让读或写的请求排队。
当主机正在操做一个请求时,另一个请求在准备。当第二个transfer发生时,ffs的程序处理数据并让另外一个请求排队。
- dnw.c 和sam3u_benchmark.c有最后测速的功能
- 使用libcomposite必须先选中伪文件系统
- 之前写的一个PC和开发板USB通信的,PC上直接用usb-socket.c的例子就行,开发板就得本身写驱动了,最终仍是字符设备驱动。两边打开设备节点进行读写就OK了,测试没问题。
- 只能在mkdir有权限的状况下才能./configure,一个用户
欢迎关注本站公众号,获取更多信息