USB论坛
直播中

赵师傅

6年用户 186经验值
擅长:RF/无线
私信 关注
[经验]

关于libu***、libu***x、libu***K、libu***-win32的关系

关于libu***、libu***x、libu***K、libu***-win32的关系

如果做过USB上位机相关的开发,相信多数人会接触到libUSB这个开发库。希望本文对大家有所帮助!

做完cypress的cy7c68013a,总结一下u***的驱动问题。之前因为没有找到合适的windows驱动,所以直接选了libu***-win32来弄,虽然有些问题,但开发比较简单。目前发现另外的一个好处就是跨平台,代码基本不用改就能在linux下用:)
先说WinUSB,WinUSB.sys是windows自带的USB驱动框架,在Win8后集成到内核里了
== libu*** ==
说明:libu***是一个跨平台的u***驱动框架。libu***原始项目在2010年后基本没有更新,曾有libu***x项目2012年从libu***分出来,2014年1月26日又合并回libu***了。当时的libu***x-1.0.18和libu***-1.0.18其实完全一样,相当于libu***x替换了libu***的代码!后续的版本其实都是基于libu***x的代码了!
包含两个主要分支1.x和0.1.x。
1.x和0.1.x并不兼容,可以同时存在,如果要在1.x基础上兼容0.1.x需要libu***-compat转换层。所以0.1.x和libu***-compat不能同时装上!
内核:目前1.x分支的驱动只有用户态,linux下支持u***fs,windows下支持WinUSB.sys。
也可以支持libu***K和libu***-win32(通过libu***K支持)。
工具:通过Zadig支持生成基于libu***0、libu***K、WinUSB的inf文件。
https://github.com/pbatard/libwdi/wiki/Zadig
== libu***-win32 ==
说明:libu***-win32是从libu***-0.1.x分支衍生的,
主要是针对Windows做优化,所以接口风格和libu***-0.1.x一致。
内核:WDM框架的libu***0.sys驱动。
工具:自带inf-wizard.exe生成基于libu***0.sys的inf文件。
注意:目前建议是新的项目尽可能使用libu***,而不是这个libu***-win32了。
== libu***K ==
说明:libu***K主要是想做一个WinUSB接口风格的开源u***库,
支持基于KMDF的libu***K.sys和系统自带的WinUSB.sys。参考libu***-win32做的开发,部分工具是从libu***-win32整合而来的。因为源代码里也包含了libu***0.dll的加载功能和转换层,所以也可以支持WDM框架的libu***0.sys(libu***-win32)。
内核:基于KMDF框架的libu***K.sys、WDM的libu***0.sys、系统的WinUSB.sys
工具:自带libu***K-inf-wizard.exe(基于libu***-win32的工具改的)
生成基于libu***0、libu***K、WinUSB的inf文件。
== 备忘 ==
libu*** (官方版本,2014.06.14)
新网站:http://libu***.info/
新代码:http://sourceforge.net/projects/libu***/ (新的1.0.19-2014.06.14)
新开发:http://github.com/libu***/ (貌似开发进度都在这个上面显示了)
旧网站:http://www.libu***.org/        (基于Trac的,已经废弃了)
旧网站:http://libu***x.org/
旧代码:http://sourceforge.net/projects/libu***x/ (到1.0.18-2014.01.26为止)
目前Windows下只是用户态的驱动
支持libu***K、WinUSB、libu***-win32的内核驱动访问。
如果要使用libu***-win32的话,需要安装libu***K!
libu***K(支持windows,2014.04.27)
新网站:http://sourceforge.net/projects/libu***k/
旧网站:http://code.google.com/p/u***-travis/
包含内核态和用户态驱动
libu***-win32(libu***-0.1版本的windows移植,2012.01.17)
网站:http://www.libu***.org/wiki/libu***-win32
网站:http://sourceforge.net/projects/libu***-win32/
包含内核态和用户态驱动

※※※※ 原文作者:Posted on 2015-05-11 by yuliang

更多回帖

发帖
×
20
完善资料,
赚取积分