USB ポート経由でビデオを読み込み、そのビデオにいくつかの変更 (圧縮など) を加えてから、できれば同じ USB ポート経由でホストに送り返す必要がある組み込み Linux プロジェクトがあります。また、ビデオ圧縮レベルなどを変更するコマンドをホストからデバイスに送信できれば、好ましい機能です。
ホストは、あるバージョンの Linux を実行するデスクトップであると想定できます。このビデオ処理を実際に実行するデバイスは、組み込み Linux を実行する Gumstix です。
このプロジェクトをどうやって始めようか、Linuxの入出力分割で何を研究しようか、基本的に迷っています。まず、ビデオの読み取り、ビデオの書き込み、およびコマンドの送信の両方を同じ USB ポートで行うことは可能でしょうか? ビデオは、特にデバイスによる圧縮後は比較的小さいため、帯域幅は問題になりません。主な問題は、このプロジェクトの研究をどこから開始するかを知ることです。ホストとデバイスの間で複数の接続を開いてデータを転送できる、USB 用の TCP/IP のようなものはありますか?
独自の USB デバイス ドライバを作成する必要がありますか? 独自のプロトコルを開発しますか、それとも USB は同じポートで複数のことを比較的簡単に行うことをサポートしますか?
Linux ドライバー、ユーザー レベルのプログラミングと API、または USB プロトコルの調査を開始する必要がありますか? それともまったく違うもの?
私はコンピューター エンジニアリングの上級生なので、経験レベルは C、C++、Java、Verilog、TCL などのプログラミングの混合です。ほとんどすべてのソケット関連のプログラミングは Java (OS に依存しない) で行われているので、よくわかりません。そのようなタスクを実行する Linux アプリケーションの作成を開始する場所。私はマイクロプロセッサ プログラミング (AVR、coldfire) についてかなりの経験を積んできましたが、必要なものに近いにもかかわらず、どこから始めればよいかを理解するのにあまり役に立ちません。