- 論壇徽章:
- 0
|
本帖最后由 chenzysir 于 2016-06-13 22:01 編輯
手里有一個聲陣列傳感器(就一黑盒子),數(shù)據(jù)是通過USB先傳出來的。老師要求針對它寫出linux下的USB驅(qū)動(在ARM上面),把數(shù)據(jù)讀出來。最近剛學ARM-linux,手頭一塊TQ210開發(fā)板。一開始看著這個黑盒子,整個人都懵逼了好嗎:這是什么鬼?老師你想要我干嘛??我該怎么辦?
師兄讓我先把黑盒子拆開,看到了里面的電路板,上面用到了CY7c68013芯片,與USB線相連,一查是一個USB芯片,應該就是它沒錯了。我把它的USB先接到PC上,使用lsusb命令,虛擬機(紅帽企業(yè)版6)能讀出設備信息,如下圖:
1.jpg (60.33 KB, 下載次數(shù): 2170)
下載附件
2016-06-13 21:47 上傳
2.jpg (50.58 KB, 下載次數(shù): 2350)
下載附件
2016-06-13 21:48 上傳
說明它能被USB總線驅(qū)動所識別,而且能查到設備的ID、接口描述符、端點描述符。有四個端點,都是bulk類型,兩個IN兩個OUT。
然后設置寫個驅(qū)動:好吧,其實就是把usb-skeleton.c的兩個id改成設備id。把驅(qū)動模塊移植到板子上,insmod之后,把傳感器接到板子上,發(fā)現(xiàn)能跟這個驅(qū)動程序匹配,/dev目錄下也生成了skel0設備文件。如下圖:
3.jpg (30.41 KB, 下載次數(shù): 2515)
下載附件
2016-06-13 21:54 上傳
然后我就不知道怎么辦了。我應該怎么去把傳感器里的數(shù)據(jù)讀出來?剛才說到該設備有四個端點,我該如何找到特定端點并且讀出里面的數(shù)據(jù)?
網(wǎng)上找了好多關于CY7c68013驅(qū)動的資料,說是要先調(diào)通固件。我手頭的是一個現(xiàn)成的傳感器,只不過里面用到了CY7c68013這塊芯片,按理說里面的固件應該已經(jīng)調(diào)好了吧,我知道參考里面的固件來寫自己的驅(qū)動OK吧?這樣的話。。。該怎么查詢里面的固件?
剛入門linux,現(xiàn)在毫無頭緒,哪位大神能指定一下?謝謝!
|
|