- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 USB设备驱动程序导读(9)
以Bot.c文件中的BOT_DataTransfer()函数为例,在这个函数中,读写操作全部是调用了IssueBulkTransfer()函数,这个函数是由USBD提供的接口并且被usbclient.c程序进行了再次封装,它可以完成对物理USB设备的数据存取操作,这就要根据不同的设备来进行了,而且还要区分是命令操作还是数据
2008-01-08 22:10:00 4312 2
原创 USB设备驱动程序导读(8)
带着上次留下的疑问,我们继续来学习操作系统如何通过USBDISK读写USB设备的。我们先看USB/CLASS/STORAGE/DISK/SCSI2/usbdisk6.def文件。在这个文件中可以看到,该DLL一共导出了14个函数,其中两个是上次内容当中被设备驱动程序调用的UsbDiskAttach和UsbDiskDetac
2008-01-08 22:08:00 4324
原创 USB设备驱动程序导读(7)
我们来看程序的第4行,这里有一个判断语句,它是在判断插入的设备是否是USBMSC_INTERFACE_CLASS类型的,这个常量是在usbmsc.h文件中定义的,也就是说如果设备不是USB存储设备,那么就结束这个函数,也就是此驱动只能处理USB存储设备。 当发现设备符合此驱动程序的要求后,就通过函数Parse
2008-01-08 22:06:00 4045
原创 USB设备驱动程序导读(6)
在继续向下看,我们发现了USBDeviceAttach()函数,这可是最重要的地方了,当有USB设备插入插口以后,操作系统是如何识别它的呢,如何将其做为一个文件夹加以访问的呢?我们就来解开这里的谜团。 为了我们方便说明,我将此程序简化如下: 后面的程序将以此行号进行说明。
2008-01-08 22:04:00 3529
原创 USB设备驱动程序导读(5)
正如所料,接下来我们就进入到DRIVERS/USB/CLASS/STORAGE/CLASS文件夹下,接触USB设备驱动程序。 我们先来了解两个头文件,分别是STORAGE/INC/usbmsc.h和STORAGE/CLASS/usbmscp.h,其中前者是USB存储设备公用的头文件,后者是需要按照自己的设
2008-01-08 22:03:00 4179 1
原创 USB设备驱动程序导读(4)
在上次了解了所有USBD接口函数以后,我们已经有了很多基础知识了,回顾USB样例的文件夹结构,我们还能记得USB/CLASS/COMMON这个文件夹下是存放所公共部分的源程序,它是微软专门抽象出来的能为大多数USB设备驱动程序服务的一些结构体以及函数的封装,我们这次再来概略的了解一下这里面的源程序。 这里面包
2008-01-08 22:01:00 4227
原创 USB设备驱动程序导读(3)
“广告无限,时间有限”,别看广告了,快回来吧。(发现自己是广告天才,不过耳熟的很,好像游戏上面都有类似的话) 此前,我们共同了解了USB驱动在CE中的位置结构,也了解了样例驱动程序的文件夹结构,接下来,我们就要了解一下USBD为我们提供了哪些接口来实现设备访问以及驱动程序管理的功能。找到USBDI.H,不要告
2008-01-08 22:00:00 4543
原创 USB设备驱动程序导读(2)
接下来,我们就来分析一下CE中的样例程序,我用的是4.2版本的,所以下面的内容是4.2版本中的程序。这里的程序是通过文件夹的形式组织在一起的,所以我们还是像以前学习CE的时候那样,先来了解与此相关的文件夹结构,如下图。 在USB文件夹下,分成了CLASS,CLIENTS,COMMON,HCD,INC,USBD
2008-01-08 21:58:00 3905
原创 USB设备驱动程序导读(1)
随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。但是对于很多初学者来说,存在以下三个困难: 一是对WinCE的驱动程序结构了解得太少,没办法得心应手的专注于驱动程序的开发工作; 二是对WinCE自带的USB驱动程序的例子没有弄懂,看到一大堆文件夹结构和源程序
2008-01-08 21:56:00 7206
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人