PTT評價

[請益] USB device開發請益

看板Soft_Job標題[請益] USB device開發請益作者
CCT63
(CCT)
時間推噓 5 推:5 噓:0 →:13

最近因為想要弄一些東西,所以開始自修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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.9.143 (臺灣)
PTT 網址

james73211/22 23:22driver端可以考慮用winusb可以省一些功

gn0067019111/23 00:05有點不太懂你想要做什麼,是寫fw, driver, 還是applic

主要還是FW, 但是FW要能demo還是需要有host的行為, 所以host部分也要弄簡單的程式來確定我的板端正常

gn0067019111/23 00:05ation

MOONY13511/23 07:25Hidapi

doranako11/23 07:27我猜原po想有沒有現成driver或原生支援,然後只靠app做

doranako11/23 07:27到資料傳輸跟聲音輸出

就是這樣XD

hizuki11/23 08:23libusb可以參考,如果不需要太高效率

shooter55511/23 09:30libusb應該可以處理掉很多東西 只要做應用的部份

shooter55511/23 09:32但你要先錄一下前面initial要設定什麼 configure選哪

shooter55511/23 09:32個, interface的alt要不要切之類的 然後最後在丟data

shooter55511/23 09:32到endpoint

shooter55511/23 09:40話說聲音應該要用isochronous 不是用bulk

這個我知道,所以我這邊還沒把AUDIO拉進來看,一步一步來

shooter55511/23 09:54喔喔 看懂你的問題了 如果你已經找到透過usb傳遞資料

shooter55511/23 09:58的方法 先把資料傳過去device (linux?) device再把dat

shooter55511/23 09:59a透過alsa播放還是用libusb丟都可以

※ 編輯: 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

wsad5023211/23 13:14Device 可以買silicon lab 的 efm8 開發板來試

目前是先用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

zerobx11/26 22:06kernel document看一下

請問說的是哪個的kernal?

※ 編輯: CCT63 (1.171.4.35 臺灣), 11/30/2021 21:32:59