以Bot.c文件中的BOT_DataTransfer()函数为例,在这个函数中,读写操作全部是调用了IssueBulkTransfer()函数,这个函数是由USBD提供的接口并且被usbclient.c程序进行了再次封装,它可以完成对物理USB设备的数据存取操作,这就要根据不同的设备来进行了,而且还要区分是命令操作还是数据操作,是命令状态操作还是其他操作等等,需要与设备及USB标准来对应。因为只是学习一个框架,所以有兴趣的话可以深入研究一下。

到此为止,一个USB设备驱动程序的最基本框架就已经浏览了一遍,很粗糙也很烦杂,到头来废话说了太多,也不知是否能说到关键之处。为了留下一个整体的印象,我们使用下面的图示进行回顾。

下面的两层是与硬件设备相关的,上面的两层是硬件无关的,这样,所有的同类硬件设备都可以共用上面设备无关的驱动部分,向操作系统和应用程序提供统一的接口,而硬件相关部分则要根据不同的硬件加以实现。这就是我们最近了解到的USBMSC的驱动程序。如果有什么需要可以发邮件给我,我对此也只是略知一点,大家相互探讨才能有更大的收获,期待与更多的朋友交流。

USB设备驱动程序导读(9)相关推荐

  1. USB设备驱动程序导读(4)

            在上次了解了所有USBD接口函数以后,我们已经有了很多基础知识了,回顾USB样例的文件夹结构,我们还能记得USB/CLASS/COMMON这个文件夹下是存放所公共部分的源程序,它是微软 ...

  2. usb扫描枪驱动下载 wince_wince下USB设备驱动程序

    随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作.但是对于很多初学者来说,存在以下三个困难: 一是对WinCE的驱动程序结构了解得太少,没办法得心应手的专注于驱动程 ...

  3. 嵌入式linux查看usb设备驱动程序,嵌入式Linux下USB驱动程序的设计

    嵌入式Linux下USB驱动程序的设计 usb概念:  USB(Universal Serial Bus)即通用串行总线,是一种全新的双向同步传输的支持热插拔的数据传输总线,其目的是为了提供一种兼容不 ...

  4. 转-用Driver Studio工具包开发WDM型的USB设备驱动程序

    前文所提及的WDM驱动程序开发方法,笔者都曾尝试过.个人认为用DriverStudio开发工具包来开发USB驱动程序行之有效.其中的Driver Wizard是创建WDM驱动程序框架的一个很好的工具, ...

  5. USB协议与Windows USB设备驱动程序笔记

    USB概述 USB主控制器负责数据处理,USB根集线器(ROOT HUB)提供一个连接USB主控制器与USB设备之间的接口和通路.USB集线器(USB HUB)可以对原有的USB端口在数量上进行扩展. ...

  6. 开发WDM型USB设备驱动程序(一)

    摘要 本文介绍WDM型USB设备驱动程序的基本概念.结构和特性,并说明了利用Driverworks进行开发的方法. 关键词 WDM:USB设备驱动程序:Driverworks 导言 通用串行总线USB ...

  7. linux cdc设备驱动程序,Linux Kernel 'cdc-wdm' USB设备驱动程序堆缓冲区溢出漏洞

    发布日期:2013-03-14 更新日期:2013-03-19 受影响系统: Linux kernel 3.x Linux kernel 2.6.x 描述: --------------------- ...

  8. USB驱动程序之USB设备驱动程序1简单编写

    1.驱动编写分析 (1)usb总线驱动程序在我们接入USB设备的时候会帮我们构造一个新的usb_device.注册到总线里面来.左边这一块已经帮我们做好了,我们要做的是右边这一块.我们要构造一个usb ...

  9. USB设备驱动程序-USB Gadget Driver(四)

    FROM:http://blog.chinaunix.net/uid-14518381-id-3942425.html Gadget 功能层 Gadget功能层完成USB设备的具体功能,其表现的形式各 ...

最新文章

  1. postgresql 可调试
  2. 手杀***病毒Trojan.Win32.Generic.11EBD5EC
  3. matlab vdp1000,第四章 MATLAB的数学运算.ppt
  4. SET NOCOUNT的用法和注意事项
  5. 《Java程序设计》实验报告——Java的多线程机制
  6. Spring Boot JPA中关联表的使用
  7. 【Java从入门到天黑|03】JavaSE入门之流程控制
  8. Halcon算子学习:find_surface_model
  9. 求锤得锤,你要的一致性 hash 来了! | 附代码
  10. 他是浙大 19 岁大一新生,三个月斩获 WWDC 19 奖学金!
  11. [leetcode]5178. 四因数
  12. java反编译 混淆_Java反编译反混淆神器 - CFR
  13. php怎么实现ubb代码,php实现过滤UBB代码的类
  14. qt银行排队系统服务器代码,QT银行叫号排队系统
  15. 科技文献检索与计算机应用试卷,科技文献检索期末上机考试试题
  16. 2019新版c智播客h马程序员H5全栈工程师培训项目实战
  17. 利用Python制作王者战力查询以及皮肤查看软件
  18. 〖TensorFlow2.0笔记21〗自定义数据集(宝可精灵数据集)实现图像分类+补充:tf.where!
  19. 分布式事务(三):分布式事务解决方案之TCC(Try、Confirm、Cancel)
  20. Hydra Attention学习笔记

热门文章

  1. 金山云KSC265在世界视频编码器大赛再拔头筹
  2. 【转】当你进行地图设计时,需要了解这些小知识
  3. ESP 常用的低功耗配置选项解析
  4. 对日软件日语词汇收集(1)
  5. 嵌入式作业(六):STM32串口通讯
  6. 【从 0 开始学架构】学习笔记 Day5 高性能基本概念
  7. 评书大全集下载,单田芳评书全集,田连元评书全集
  8. 车载以太网线束测试接口的种类以及各自特点?---FAKRA
  9. 3.1、CUBEMX使用FATFS读写SPI_FLASH
  10. 防火墙阻断扫描设备_记一次故障排查