我有一個嵌入式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