我有一个嵌入式Linux项目,需要通过USB端口读取视频,对视频进行一些修改(例如压缩),然后将其发回通过优选相同的USB端口连接到主机。如果我们可以发送命令来改变诸如从主机到设备的视频压缩等级,这也是一个首选功能。嵌入式Linux从USB端口读取和写入视频
可以将主机假定为运行某个版本的Linux的桌面,实际进行此视频处理的设备是运行嵌入式Linux的Gumstix。
对于如何开始这个项目或者在Linux中输入/输出的划分方面进行研究,我基本上已经迷失了方向。首先,是否有可能通过相同的USB端口读取视频,写入视频和发送命令?视频相对较小,尤其是在设备压缩后,因此带宽不成问题。主要问题是要知道从哪里开始研究这个项目。是否有类似USB的TCP/IP,您可以在主机和设备之间打开多个连接来传输数据?
我们必须编写我们自己的USB设备驱动程序吗?开发我们自己的协议还是USB支持相对容易地在同一端口上做多件事?
我应该开始研究Linux驱动程序,用户级编程和API或USB协议吗?或者完全不同的东西?我是一名高级计算机工程专业的学生,所以我的经验水平是C,C++,Java,Verilog,TCL等编程的混合体。几乎所有与套接字相关的编程都在Java(独立于操作系统)中,所以我真的不知道从哪里开始编写Linux应用程序来执行这样的任务。在微处理器编程(AVR,coldfire)方面我有过相当多的经验,但是尽管接近我的需求,但它并不能真正帮助我找出开始的地方。
请问在上面的分析中libusb'sit'在哪里?我的意思是它实现了设备IO的'协议'吗?也就是说,它是否与协议驱动程序位于同一级别?谢谢 – nass 2013-07-02 16:35:48