作者CCT63 (CCT)
看板Soft_Job
標題[請益] USB device開發請益
時間Mon Nov 22 23:13:34 2021
最近因為想要弄一些東西,所以開始自修USB相關開發
因為自己對USB device / host / host driver幾乎是完全陌生,
所以想先跳過host driver的部分,之後再回來補QQ
目前想要完成的目標:
1. PC 跟device能夠透過USB交換資料,
例如PC端會需要傳一大筆資料給device & device也須做一樣的事
Q1: 參考了一些範例code,都是用vendor specific + bulk來做,
但是這樣在PC端是不是要額外寫driver?
Q2: 如果用HID class,是否能夠設定成bulk傳輸?
Q3: 如果用mass storage class + Bulk來做,PC端需要額外driver嗎?
Q4: PC端有辦法繞過driver來做到我的目標嗎?
2. PC端可以將audio raw data透過USB到device,device再將聲音撥出
=> 這部分目前還沒想法XD
謝謝
--
更新一下
今天從推文的建議去查一些關鍵字找到了Inf Wizard,
用它build出來的driver,PC可以順利認到我的板子還有endpoint了(bulk in/out)
在PC端用python去做實驗,
目標是PC傳出去的資料可以被device收到 + device丟出去的資料可以被筆電收到
這是Python部分的code,都是從網路上學習的
https://imgur.com/UbEjwQZ
host丟出去的資料確定有在device被收到
但是一直都無法觸發device順利丟出資料到PC QQ
如:
https://imgur.com/5bXLIIS
錯誤碼解出來為:
https://imgur.com/zP8F47f
今天有做了一些實驗 + 查一些資料,但是還是找不到問題點QQ
請問這個問題有沒有想法建議呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.9.143 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1637594016.A.447.html
1F:→ james732: driver端可以考慮用winusb可以省一些功11/22 23:22
2F:推 gn00670191: 有點不太懂你想要做什麼,是寫fw, driver, 還是applic11/23 00:05
主要還是FW,
但是FW要能demo還是需要有host的行為,
所以host部分也要弄簡單的程式來確定我的板端正常
3F:→ gn00670191: ation11/23 00:05
5F:→ MOONY135: Hidapi11/23 07:25
6F:推 doranako: 我猜原po想有沒有現成driver或原生支援,然後只靠app做11/23 07:27
7F:→ doranako: 到資料傳輸跟聲音輸出11/23 07:27
就是這樣XD
8F:→ hizuki: libusb可以參考,如果不需要太高效率11/23 08:23
9F:→ shooter555: libusb應該可以處理掉很多東西 只要做應用的部份11/23 09:30
10F:→ shooter555: 但你要先錄一下前面initial要設定什麼 configure選哪11/23 09:32
11F:→ shooter555: 個, interface的alt要不要切之類的 然後最後在丟data11/23 09:32
12F:→ shooter555: 到endpoint11/23 09:32
13F:→ shooter555: 話說聲音應該要用isochronous 不是用bulk11/23 09:40
這個我知道,所以我這邊還沒把AUDIO拉進來看,一步一步來
14F:→ shooter555: 喔喔 看懂你的問題了 如果你已經找到透過usb傳遞資料11/23 09:54
15F:→ shooter555: 的方法 先把資料傳過去device (linux?) device再把dat11/23 09:58
16F:→ shooter555: a透過alsa播放還是用libusb丟都可以 11/23 09:59
※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:09:28
※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:10:17
※ 編輯: CCT63 (42.73.78.61 臺灣), 11/23/2021 10:11:26
17F:推 wsad50232: Device 可以買silicon lab 的 efm8 開發板來試 11/23 13:14
目前是先用xMOS的開發版,因為未來工作上需求
另外,我手上有一塊樹莓pi的板子,適合拿來學習USB底層的protocol嗎?
還是要另外用其他種類的板子比較適合? 有推薦的嗎?
※ 編輯: CCT63 (1.171.9.143 臺灣), 11/23/2021 21:31:43
※ 編輯: CCT63 (1.171.9.143 臺灣), 11/23/2021 21:40:35
18F:推 zerobx: kernel document看一下 11/26 22:06
請問說的是哪個的kernal?
※ 編輯: CCT63 (1.171.4.35 臺灣), 11/30/2021 21:32:59