当前位置: 技术问答>linux和unix
Linux下开发USB硬盘驱动
来源: 互联网 发布时间:2015-10-26
本文导语: 要进行 Linux下开发USB硬盘驱动,哪位能提供一些相关的资料呀,多谢!!! | 最近也在整这个,首先要了解的是usb驱动的结构: usb驱动结构 (1)usb主机控制器驱动(HCD):是usb主机驱动程...
要进行 Linux下开发USB硬盘驱动,哪位能提供一些相关的资料呀,多谢!!!
|
最近也在整这个,首先要了解的是usb驱动的结构:
usb驱动结构
(1)usb主机控制器驱动(HCD):是usb主机驱动程序种直接与硬件交互的软件模块,主要功能有:主机控制器硬件初始化;为USBD层提供相应的接口函数;提供根HUB(ROOT HUB)设备配置、控制功能;完成4种类型的数据传输等。
(2)USB驱动(USBD):是整个USB主机驱动的核心,功能有:USB总线管理,USB总线设备、USB总线带宽管理,USB的4种类型数据传输,USB HUB驱动,为USB设备类驱动提供相关接口,提供应用程序访问的USB系统的文件接口等。
(3)USB设备类驱动:是最终与应用程序交互的软件模块,功能有:访问特定的USB设备,为应用程序提供访问接口等。Linux内核支持的USB设备有:USB打印机类、通信设备类、存储设备类、语音设备类。
如果想给usb硬盘写一个应用程序来管理,就得自己写设备驱动了,模型可见drivers/usb/usb-skeleton.c文件,按照它基本可以完成大部分得usb驱动改写。
另外驱动开发网也有专门得usb驱动开发论坛。
usb驱动结构
(1)usb主机控制器驱动(HCD):是usb主机驱动程序种直接与硬件交互的软件模块,主要功能有:主机控制器硬件初始化;为USBD层提供相应的接口函数;提供根HUB(ROOT HUB)设备配置、控制功能;完成4种类型的数据传输等。
(2)USB驱动(USBD):是整个USB主机驱动的核心,功能有:USB总线管理,USB总线设备、USB总线带宽管理,USB的4种类型数据传输,USB HUB驱动,为USB设备类驱动提供相关接口,提供应用程序访问的USB系统的文件接口等。
(3)USB设备类驱动:是最终与应用程序交互的软件模块,功能有:访问特定的USB设备,为应用程序提供访问接口等。Linux内核支持的USB设备有:USB打印机类、通信设备类、存储设备类、语音设备类。
如果想给usb硬盘写一个应用程序来管理,就得自己写设备驱动了,模型可见drivers/usb/usb-skeleton.c文件,按照它基本可以完成大部分得usb驱动改写。
另外驱动开发网也有专门得usb驱动开发论坛。
|
似乎现在市面上的USB硬盘在linux都不需要驱动啊。只要你符合USB的一些标准(具体哪些我就不知道了),估计就不需要驱动。我猜测在windows XP下直接能识别的USB硬盘,linux估计都能识别。
|
http://www.linux-usb.org/