【发布时间】:2011-04-21 15:42:11
【问题描述】:
我有一个嵌入式 Linux 项目,我需要通过 USB 端口读取视频,对该视频进行一些修改(例如压缩),然后最好通过相同的 USB 端口将其发送回主机。如果我们可以发送命令来更改诸如从主机到设备的视频压缩级别等内容,这也是一个首选功能。
可以假设主机是运行某个版本的 Linux 的桌面,而实际执行此视频处理的设备是运行嵌入式 Linux 的 Gumstix。
我基本上不知道如何开始这个项目,或者在 Linux 中的输入/输出划分中要研究什么。首先,是否可以通过同一个 USB 端口同时读取视频、写入视频和发送命令?视频比较小,尤其是经过设备压缩后,所以带宽不是问题。主要问题是知道从哪里开始这个项目的研究。有没有像 USB 的 TCP/IP 这样的东西,你可以在主机和设备之间打开多个连接来传输数据?
我们是否必须编写自己的 USB 设备驱动程序?开发我们自己的协议还是 USB 支持在同一个端口上做多个事情相对容易?
我应该开始研究 Linux 驱动程序、用户级编程和 API 还是 USB 协议?还是完全不同的东西?
我是一名高级计算机工程专业的学生,所以我的经验水平是 C、C++、Java、Verilog、TCL 等编程的混合体。几乎所有与套接字相关的编程都使用 Java(独立于操作系统)所以我真的我不确定从哪里开始编写 Linux 应用程序来执行这样的任务。我在微处理器编程(AVR、coldfire)方面有相当多的经验,但是尽管已经接近我需要的东西,但它并没有真正帮助我弄清楚从哪里开始。
【问题讨论】:
标签: embedded linux-kernel driver linux-device-driver embedded-linux