作者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/cn.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