arceos-usb / arceos_experiment

An experimental modular OS written in Rust.
http://rcore-os.cn/arceos/
Apache License 2.0
5 stars 5 forks source link

usb相关结构体与调用api设计-为libusb提供兼容层 #3

Open ZR233 opened 9 months ago

ZR233 commented 9 months ago

可以参考libusb,winusb,设计usb调用接口。

dbydd commented 9 months ago

可以参考rusb,事实上rusb的License貌似是WTFPL类型的...要不直接开个分支改一改?

ZR233 commented 9 months ago

可以参考rusb,事实上rusb的License貌似是WTFPL类型的...要不直接开个分支改一改?

rusb包的libusb,我觉得他包的有点复杂,其实c#的usb接口形式挺简洁的,可以参考下。

ZR233 commented 9 months ago

https://crates.io/crates/eusb 我之前写的一个usb库,也可以参考下😋

dbydd commented 9 months ago

看了一下相关资料,这两个都是基于libusb的,也就是说我们如果要模仿的话大概得先搓一波libusb的后端实现? c#的usb接口没接触过,让我先看看...

ZR233 commented 9 months ago

看了一下相关资料,这两个都是基于libusb的,也就是说我们如果要模仿的话大概得先搓一波libusb的后端实现? c#的usb接口没接触过,让我先看看...

对,看一下libusb很有帮助,代码量不多

dbydd commented 9 months ago

开始动工,libusb fork: https://github.com/arceos-usb/libusb-for-arceos 目前来说,需要实现libusb/libusbi.h里面的那堆接口,考虑到得用rust编译出来asm再链接到c,得爆改一下相关的makefile,让我看看相关文档怎么说...

dbydd commented 8 months ago

结论是还是先看看近处的xhci相关结构体(命令环与事件环,数据交换空间)罢家人们,于是我这几天一直在搓这些东西

0130w commented 8 months ago

我也来看一下这个,有无说法

dbydd commented 8 months ago

进度停滞,先把command ring和event ring等系统相关的部分写好再来折腾这玩意罢,见 #9