如何对usb设备的多个端点进行读写

icewind4096 2008-02-01 05:27:55
我现在在做一个驱动,使用了5个端点,端点1为in,其他2,3,4,5断点为out的,我有一个1k的数据包,如何利用2,3,4,5端点,对设备进行高速写入,最后可以把usb跑到800-900k每秒
...全文
1319 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
好像没那么简单,呵呵.
nancyk2h 2008-03-08
  • 打赏
  • 举报
回复
这样会提速吗?我比较怀疑 还是一个bulk in bulk out的好
zhoujiamurong 2008-03-07
  • 打赏
  • 举报
回复
不知道楼上的说的是什么系统的,不懂!我只弄WindowsNT的
我的想法是要想速度快,就用两个EP,1和2
345停用
yujianhuabcde 2008-02-28
  • 打赏
  • 举报
回复
[转贴] 通用串行总线(USB)是一种串行接口,具有自动配置能力和良好的兼容性,从而简化了计算机与外设的连接,被计算机外设硬件制造商广泛采纳。USB总线标准由1.1版升级到2.0版后,传输率由12Mbps增加到了480Mbps,更适宜于高速数据传输。USB设备支持打印机、扫描仪、数码相机等外设时,由于这些外设与主机间传输的数据量大,要求驱动程序采用Bulk模式进行高速数据传输。
USB应用程序接口主要功能是对USB驱动器进行软硬件初始化、打开端口、关闭端口、读端口、写端口和端口控制操作。当设备驱动器装入系统设备表时,I/O系统就调用该应用程序接口。
  USB应用程序接口的一个例程所包含的函数:
  •USB_init( ) -- USB端口驱动函数的安装和初始化、硬件配置。
  •USB_open( ) -- 打开USB端口。
  •USB_close( ) -- 关闭USB端口。
  •USB_read( ) -- 对USB端口进行读操作。
  •USB_write( ) -- 对USB端口进行写操作。
  •USB_ioctl( ) -- 对USB设备进行I/O控制操作。
  USB设备驱动函数
  1、USB_init()-- 初始化USB端口
  USB_init函数初始化特定USB端口驱动器,进行软硬件配置。
  初始化步骤如下:
  (1) 将USB设备驱动器安装到I/O系统设备表中。
  (2) 获取USB控制器使用的中断号。
  (3) 获取各端口所需的系统资源,包括内存、信号量和消息队列。
  (4) 初始化USB驱动器数据结构与USB端口状态寄存器。
  (5) 启动USB标准事件处理程序。
  (6) 启用控制端口0和USB中断最小支持集。
  2、USB_open()-- 打开USB端口
  USB_open函数允许应用程序打开一个USB端口,选择DMA数据传输方式。
  执行打开调用的典型步骤如下:
  (1) 如果不是默认的控制端口0,要检查端口状态是否为"CONFIGURED"。
  (2) 如果不允许多次打开,要确认端口还没有打开。
  (3) 确认端口对当前选择的接口有效。
  (4) 选择DMA传输,设置DMA控制器使用该端口的FIFO作为目的地址。
  (5) 设置端口为打开状态。
  3、USB_close()-- 关闭USB端口
  USB_close函数允许USB应用程序关闭一个端口,并关闭DMA通道。
  执行关闭调用的典型步骤为:
  (1) 关闭DMA通道,放弃端口对DMA控制器的使用。
  (2) 设置端口为关闭状态。
  4、USB_read()-- 对USB端口进行读操作
  USB_read函数允许USB应用程序从输出端口或控制端口读取数据。
  调用读函数的典型步骤为:
  (1) 设置端口号、类型和方向。
  (2) 确认端口处于打开状态。
  (3) 设置端口信号量,避免多次调用。
  (4) 调用readDMA( ) 进行DMA写操作。函数内执行步骤为:
   (a) 启动DMA从端口接收FIFO的读操作,将数据从端口传送到内存。
   (b) 等待DMA完成中断。(DMA中断向端口消息队列发送一条消息表示数据传输完成。)
   (c) 重复进行(a)~(c)步骤直至接收到全部数据或USB主机结束传输。如果USB控制器检测到短包中断或零字节包,或者出现等待超时,则停止DMA传送,并转(d)步骤执行。
   (d) 向USB主机发送一个零字节包,完成控制状态步骤。
  (5) 释放端口信号量。
  (6) 返回接收到的字节数或错误信息。
  5、USB_write()-- 对USB端口进行写操作
  USB_write函数允许USB应用程序写数据到输入端口或控制端口。
  执行写调用的典型步骤为:
  (1) 确认端口号、类型和方向。
 
  (2) 确认端口处于打开状态。
  (3) 获取端口信号量,避免多次调用。
  (4) 调用writeDMA( )进行DMA写操作。函数内执行步骤为:
   (a) DMA将内存数据传送到目标端口的FIFO,并等待DMA完成中断。
   (b) 若从接收FIFO接收到USB主机的一个零字节包,或者出现等待超时,则退出并返回传输的字节数。
   (c) 重复执行(a)~(c)步骤直至全部数据传输完毕时,转(d)步骤执行。
   (d) 强制向USB主机发送最后的零字节包或短包用来结束传输过程。
  (5) 如果是控制端口,等待来自USB主机的零字节包,完成控制状态步骤。
  (6) 释放端口信号量。
  (7) 返回传输的字节数或错误信息。
  6、USB_ioctl()-- 对USB设备进行I/O控制操作
  USB_ioctl函数设置端口状态寄存器并执行I/O端口控制功能。
  USB应用程序根据控制对象不同分别调用提供应用程序控制USB接口的能力的controlIoctl()和epIoctl()函数。controlIoctl()函数执行USB控制器整体I/O出控制功能。epIoctl()函数执行个别USB端口的I/O控制功能。。
  1) controlIoctl( ) -- 控制器控制函数
  controlIoctl()函数对USB控制器进行控制操作。执行I/O功能之前获取USB控制器信号量,避免多次调用影响正在传输数据的端口。完成I/O操作后释放信号量。
  USB控制器应支持的控制功能包括:
  •支持远程唤醒功能。
  •设置USB端口进入/退出挂起状态。
  •复位USB端口。
  •设置USB控制器消息队列等待超时。
  •为DMA选择端口FIFO。
  •允许/禁止可选中断。
  •读取帧时间戳起始位。
  •进行枚举测试。
  •返回接口、备用接口和当前USB端口配置状态。
  2) epIoctl() -- 端口控制函数
  epIoctl()函数对端口进行控制操作。执行I/O功能之前获取USB控制器信号量,避免多次调用影响正在传输数据的端口。完成I/O操作后释放信号量。
  端口应支持的控制功能包括:
  (1) 获得USB端口状态。
  (2) 设置USB端口进入/退出阻塞状态。
  (3) 设置USB端口消息队列等待超时。
USB中断服务程序
  USB控制器产生单一中断,多个端口共享。每个端口产生ACK、NACK/ERROR中断。输出端口产生接收零字节包或短包中断。控制端口0接收设置包时产生中断。USB控制器产生USB事件中断,如帧起始(SOF)、挂起、恢复和复位。
  USB中断服务程序执行下列步骤:
  (1) 识别发生了USB中断的类型。
  (2) 清除中断产生的条件。
  (3) 读USB状态寄存器,获取当前配置、接口或帧起始时间戳状态信息。
  (4) 向USB控制器消息队列或回调函数的接收消息队列发送一条消息。
  USB标准事件处理程序
  USB驱动器初始化后,启动USB标准事件处理程序负责处理枚举过程和异步USB事件。
  事件处理程序使用控制端口0,直到完成枚举过程。当USB应用程序处于非活动状态时,除控制端口0以外端口均不可访问。事件处理程序在端口0上执行控制操作,响应USB标准请求,并负责通知USB应用程序枚举完成和接口活动状态,USB事件通过回调接口传递到USB外设应用程序。当对USB端口枚举操作完成,USB应用程序就可打开并使用USB端口。
  处理一个USB任务的执行过程为:
  (1) 读取USB控制器消息队列。
  (2) 如果接收到设置包,则调用标准请求处理函数。
  (3) 如果接收到事件,则调用USB事件处理函数。
  (4) 确定当前状态和有效配置/接口。
  (5) 更新USB控制器和端口数据结构。
  (6) 重复(1)~(5)步骤。
  USB回调接口程序
  回调应用程序接口是向应用程序提供反馈信息的一种接口,包括向应用程序通知USB事件的消息,如复位、配置改变、接口改变、挂起、恢复和帧起始。使用USB的应用程序要以下列方式回应这些消息:
  (1) 复位 关闭端口,等待枚举测试。
  (2) 配置改变 关闭端口,按新配置打开端口。
  (3) 接口改变 关闭端口,从新接口打开端口。
  (4) 挂起 进入低功耗模式。
  (5) 恢复 退出低功耗模式。
  (6) 帧起始 执行应用程序规定的处理。
  总结
  本文提供了进行USB端口Bulk模式驱动程序设计的过程,实现在USB接口设备与Host主机之间进行高速数据传输,对于嵌入式环境以及windows多线程环境下的USB设备的高速数据传输同样适用。
cheneyhehe 2008-02-27
  • 打赏
  • 举报
回复
学习
/* 也是从其他地方搞过来的,花了不少积分,我就1分奉献了吧,绝对是好书~ */ 第1章USB概述及协议基础 1.1USB是什么 1.2USB的特点 1.3USB的拓扑结构 1.4USB的电气特性 1.5USB的线缆、插头及插座 1.6USB的插入检测机制 1.7USB的描述符及其之间的关系 1.8USB设备的枚举过程 1.9USB的包结构及传输过程 1.9.1USB的包结构及包的分类 1.9.2令牌包 1.9.3数据包 1.9.4握手包 1.9.5特殊包 1.9.6如何处理数据包 1.10USB的四种传输类型 1.10.1USB事务 1.10.2批量传输 1.10.3中断传输 1.10.4等时传输 1.10.5控制传输 1.10.6端点类型与传输类型的关系 1.10.7传输类型与端点支持的最大包长 1.11本章小结 第2章硬件系统设计 2.1方案及芯片的选定 2.2D12引脚功能说明 2.3D12与AT89S52的连接 2.4串口部分电路 2.5按键部分 2.6指示灯部分 2.7IDE接口部分 2.8单片机部分 2.9元件安装 2.10电路调试 2.11测试程序的编写和调试 2.11.1建立一个工程 2.11.2为工程添加源文件 2.11.3KEIL工具栏及仿真介绍 2.11.4按键驱动的编写 2.11.5串口驱动的编写 2.11.6PDIUSBDl2读写函数及读ID的实现 2.12本章小结 第3章USB鼠标的实现 3.1USB鼠标工程的建立 3.2USB的断开与连接 3.3USB中断的处理 3.4读取从主机发送到端点O的数据 3.5USB标准请求 3.5.1USB标准设备请求的结构 3.5.2GET_DESCRIPTOR请求 3.5.3SET_ADDRESS请求 3.5.4SETCONFIGURATION请求 3.6设备描述符的实现 3.7设备描述符的返回 3.8设置地址请求的处理 3.9配置描述符集合的结构 3.9.1配置描述符的结构 3.9.2接口描述符的结构 3.9.3端点描述符的结构 3.9.4HID描述符的结构 3.10配置描述符集合的实现以及返回 3.11字符串及语言ID请求的实现 3.12设置配置请求的实现 3.13报告描述符的结构及实现 3.14报告的返回 3.15BusHound工具的简介 3.16本章小结 第4章USB键盘的实现 4.1USB键盘工程的建立 4.2设备描述符的实现 4.3配置描述符集合的实现 4.3.1配置描述符 4.3.2接口描述符 4.3.3HID描述符_ 4.3.4端点描述符 4.4字符串描述符 4.5报告描述符 4.6输入和输出报告的实现 4.7 USB键盘实例的测试 4.8再谈USBHID的报告描述符 4.9带鼠标功能的USB键盘(方法一) 4.10带鼠标功能的USB键盘(方法二) 4.11多媒体USB键盘 4.12本章小结 第5章用户自定义的USBHID备 5.1MyUsbHid工程的建立 5.2描述符的修改 5.3报告的实现 5.4对用户自定义的USBHID设备的访问 5.5访问HID设备时所用到的相关函数 5.5.1 获取HID设备的接口类GUID的函数 5.5.2获取指定类的所有设备信息集合的函数 5.5.3从设备信息集合中获取一个设备接口信息的函数 5.5.4获取指定设备接口详细信息的函数 5.5.5打开设备的函数 5.5.6获取HID设备属性的函数 5.5.7从设备读取数据的函数 5.5.8往设备写数据的函数 5.5.9通过控制端点O读取报告的函数 5.5.10通过控制端点O发送报告的函数 5.5.11关闭句柄的函数 5.5.12需要包含的库文件 5.6访问USBHID设备的上位机软件的实现 5.6.1上位机程序编写的思路 5.6.2查找及打开HID设备的代码 5.6.3读输入报告线程的代码 5.6.4写输出报告的代码(发送LED的状态) 5.6.5写输出报告线程的代码 5.6.6线程的创建以及设备插拔事件的注册 5.6.7对设备状态改变事件的处理 5.7软件界面以及使用方法 5.8本章小结 第6章USB转串口 6.1串口家族历史 6.2串口接头的引脚分布及功能 6.3USB转串口的实现方法 6.4设备描述符 6.5字符串描述符 …… 第7章USBMIDI键盘 第8章U盘 第9章自定义USB设备及驱动开发 第10章USB过滤驱动开发 附录第3章实例的完整调试信息 参考文献 后记 ……
特性 • 4端口USB智能集线器具有: - 支持原生USB Type-C™的上行端口 - 支持原生USB Type-C的下行端口1和2 - 两个标准USB 2.0下行端口 - 内部集线器功能控制器,可实现: - USB转I2C/SPI/UART/I2S/GPIO桥接器端点支持 - USB转内部集线器寄存器的读写 • 经USB-IF认证——TID 1212。测试包括: - 支持BC1.2的USB3.1 Gen1集线器 - 使用UPD350 PD收发器的PD 2.0(TID 330000077) - 支持备用模式协商状态的布告栏端点器件 - 高级多端口系统策略管理 • 支持USB链路电源管理(Link Power Management, LPM) • 下行端口(DCP、 CDP和SDP)支持USB-IF电池 充电版本1.2 • 可通过OTP或SPI ROM获得增强型OEM配置选项 • 商业级和工业级温度支持 • 通过汽车AEC-Q100标准认证 目标应用 • 独立USB集线器 • 笔记本电脑扩展坞 • PC主板 • PC显示器扩展坞 • 多功能USB 3.1 Gen 1外设 • 车载集成主机和接线盒 主要优势 • 符合USB 3.1 Gen 1标准的5 Gbps、 480 Mbps、 12 Mbps和1.5 Mbps工作模式 - 5V耐压USB 2.0引脚 - 1.32V耐压USB 3.1 Gen 1引脚 - 集成端接电阻和上拉/下拉电阻 • 原生USB Type-C支持 - 集成Rp和Rd的Type-C CC引脚 - 在使能USB Type-C的端口上集成多路开关。在检测 到有效的Type-C连接前, USB 3.1 Gen 1 PHY一直 保持禁止状态,从而降低空闲功耗。 - 外部VCONN电源控制 • 所有端口均支持为最常见的电池供电设备充电 - 支持USB-IF电池充电版本1.2(DCP、 CDP和SDP) - Apple®便携式产品充电器仿真 - 中国YD/T 1591-2006充电器仿真 - 中国YD/T 1591-2009充电器仿真 - 欧盟通用移动充电器支持 - 支持其他便携式设备 • 片上单片机 - 管理I/O、 VBUS和其他信号 • 64 KB RAM, 256 KB ROM • 8 KB可一次性编程(One-Time-Programmable, OTP) ROM - 包括片上电荷泵 • 通过OTP ROM、 SPI ROM或SMBus编程配置 • FlexConnect - 可发送命令使上行端口和任何下行端口的角色反转 • 多主机端点反射器 - 通过CDC/NCM设备类实现的集成主机控制器端点反 射器,适合汽车应用 • USB桥接 - USB转I2C、 SPI、 UART、 I2S和GPIO • PortSwap - 可配置USB 2.0差分对信号交换 • PHYBoost - 用于恢复信号完整性的可编程USB 2.0收发器驱动 强度 • VariSense - 可编程USB 2.0接收器灵敏度 • 与Microsoft Windows® 10、 8、 7、 XP、 Apple OS X® 10.4+和Linux®集线器驱动程序兼容 • 专为低功耗运行和低散热而优化 • 封装:符合RoHS标准的100引脚VQFN(12 mm x 12 mm) * USB Type-C™和USB-C™是USB Implementers Forum的 商标。
第一章 USB概述及协议基础 1 1.1 USB是什么 1 1.2 USB的特点 1 1.3 USB的拓扑结构 2 1.4 USB的电气特性 5 1.5 USB的线缆以及插头、插座 5 1.6 USB的插入检测机制 7 1.7 USB的描述符及其之间的关系 9 1.8 USB设备的枚举过程 10 1.9 USB的包结构及传输过程 11 1.9.1 USB包的结构及包的分类 11 1.9.2 令牌包 13 1.9.3 数据包 14 1.9.4 握手包 14 1.9.5 特殊包 15 1.9.6 如何处理数据包 15 1.10 USB的四种传输类型 16 1.10.1 USB事务 16 1.10.2 批量传输 16 1.10.3 中断传输 18 1.10.4 等时传输(同步传输) 19 1.10.5 控制传输 20 1.10.6 端点类型与传输类型的关系 21 1.10.7 传输类型与端点支持的最大包长 21 1.11 本章小结 21 第二章 硬件系统设计 1 2.1 方案以及芯片的选定 1 2.2 D12引脚功能说明 2 2.3 D12与89S52的连接 4 2.4 串口部分电路 6 2.5 按键部分 7 2.6 指示灯部分 7 2.7 IDE接口部分 8 2.8 单片机部分 8 2.9 元件安装 8 2.10 电路调试 11 2.11 测试程序的编写和调试 12 2.11.1 建立一个工程 12 2.11.2 为工程添加源文件 14 2.11.3 KEIL工具栏及仿真介绍 15 2.11.4 按键驱动的编写 18 2.11.5 串口驱动的编写 24 2.11.6 PDIUSBD12读写函数及读ID的实现 28 2.12 本章小结 33 第三章 USB鼠标的实现 1 3.1 USB鼠标工程的建立 1 3.2 USB的断开与连接 1 3.3 USB中断的处理 4 3.4 读取从主机发送到端点0的数据 6 3.5 USB标准请求 12 3.5.1 USB标准设备请求的结构 13 3.5.2 GET_DESCRIPTOR请求 15 3.5.3 SET_ADDRESS请求 16 3.5.6 SET_CONFIGURATION请求 16 3.6 设备描述符的实现 17 3.7 设备描述符的返回 20 3.8 设置地址请求的处理 30 3.9 配置描述符集合的结构 32 3.9.1 配置描述符的结构 32 3.9.2 接口描述符的结构 33 3.9.3 端点描述符的结构 33 3.9.4 HID描述符的结构 34 3.10 配置描述符集合的实现以及返回 35 3.11 字符串及语言ID请求的实现 39 3.12 设置配置请求的实现 45 3.13 报告描述符的结构及实现 48 3.14 报告的返回 54 3.15 Bus Hound工具的简介 57 3.16 本章小结 59 第四章 USB键盘的实现 1 4.1 USB键盘工程的建立 1 4.2 设备描述符的实现 1 4.4 配置描述符集合的实现 2 4.4.1 配置描述符 3 4.4.2 接口描述符 3 4.4.3 HID描述符 3 4.4.4 端点描述 3 4.5 字符串描述符 6 4.6 报告描述符 6 4.7 输入和输出报告的实现 10 4.8 USB键盘实例的测试 13 4.9 再谈USB HID的报告描述符 14 4.10 带鼠标功能的USB键盘(方法一) 16 4.11 带鼠标功能的键盘(方法二) 22 4.12 多媒体USB键盘 29 4.13 本章小结 34 第五章 用户自定义的USB HID设备 1 5.1 MyUsbHid工程的建立 1 5.2 描述符的修改 1 5.3 报告的实现 3 5.4 对用户自定义的USB HID设备的访问 5 5.5 访问HID设备时所用到的相关函数 5 5.5.1 获取HID设备的接口类GUID的函数 5 5.5.2 获取指定类的所有设备信息集合的函数 6 5.5.3 从设备信息集合中获取一个设备接口信息的函数 6 5.5.4 获取指定设备接口详细信息的函数 7 5.5.5 打开设备的函数 8 5.5.6 获取HID设备属性的函数 8 5.5.7 从设备读取数据的函数 9 5.5.8 往设备写数据的函数 9 5.5.9 通过控制端点0读取报告的函数 10 5.5.10 通过控制端点0发送报告的函数 10 5.5.11 关闭设备的函数 10 5.5.12 需要包含的库文件 11 5.6 访问USB HID设备的上位机软件的实现 11 5
这是书的光盘。共分为两个部分,这是第一部分。 本书由浅入深、循序渐进地介绍了Windows驱动程序的开发方法与调试技巧。本书共分23章,内容涵盖了 Windows操作系统的基本原理、NT驱动程序与WDM驱动程序的构造、驱动程序中的同步异步处理方法、驱 动程序中即插即用功能、驱动程序的各种调试技巧等。同时,还针对流行的PCI驱动程序、USB驱动程序 、虚拟串口驱动程序、摄像头驱动程序、SDIO驱动程序进行了详细的介绍,本书最大的特色在于每一节 的例子都是经过精挑细选的,具有很强的针对性。力求让读者通过亲自动手实验,掌握各类Windows驱动 程序的开发技巧,学习尽可能多的Windows底层知识。   本书适用于中、高级系统程序员,同时也可用做高校计算机专业操作系统实验课的补充教材。 原创经典,威盛一线工程师倾力打造。深入驱动核心,剖析操作系统底层运行机制,通过实例引导,快 速学习编译、安装、调试的方法。   从Windows最基本的两类驱动程序的编译、安装、调试入手讲解,非常容易上手,用实例详细讲解 PCI、USB、虚拟串口、虚拟摄像头、SDIO等驱动程序的开发,归纳了多种调试驱动程序的高级技巧,如 用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析Windows驱动 开发的本质。 本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技 巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义 ,是一本值得推荐的专著。              ——中国工程院院士   院士推荐   目前,电子系统设计广泛采用通用操作系统,达到降低系统的设计难度和缩短研发周期。实现操作 系统与硬件快速信息交换是电子系统设计的关键。   通用操作系统硬件驱动程序的开发,编写者不仅需要精通硬件设备、计算机总线,而且需要Windows 操作系统知识以及调试技巧。学习和掌握Windows硬件驱动程序的开发是电子系统设计人员必备的能力。   本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,并且介绍了编 程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导 意义,是一本值得推荐的专著。 第1篇 入门篇 第1章 从两个最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,一个是NT式的驱动程序,另一个是WDM式的驱动程序。 这两个驱动程序没有操作具体的硬件设备,只是在系统里创建了虚拟设备。在随后的章节中,它们会作 为基本驱动程序框架,被本书其他章节的驱动程序开发所复用。笔者将带领读者编写代码、编译、安装 和调试程序。   1.1 DDK的安装   1.2 第一个驱动程序HelloDDK的代码分析    1.2.1 HelloDDK的头文件    1.2.2 HelloDDK的入口函数    1.2.3 创建设备例程    1.2.4 卸载驱动例程    1.2.5 默认派遣例程   1.3 HelloDDK的编译和安装    1.3.1 用DDK环境编译HelloDDK    1.3.2 用VC集成开发环境编译HelloDDK    1.3.3 HelloDDK的安装   1.4 第二个驱动程序HelloWDM的代码分析    1.4.1 HelloWDM的头文件    1.4.2 HelloWDM的入口函数    1.4.3 HelloWDM的AddDevice例程    1.4.4 HelloWDM处理PNP的回调函数    1.4.5 HelloWDM对PNP的默认处理    1.4.6 HelloWDM对IRP_MN_REMOVE_DEVICE的处理    1.4.7 HelloWDM对其他IRP的回调函数    1.4.8 HelloWDM的卸载例程   1.5 HelloWDM的编译和安装    1.5.1 用DDK编译环境编译HelloWDM    1.5.2 HelloWDM的编译过程    1.5.3 安装HelloWDM   1.6 小结  第2章 Windows操作驱动的基本概念  驱动程序被操作系统加载在内核模式下,它与Windows操作系统内核的其他组件进行密切交互。本章主 要介绍Windows操作系统内核的基本概念,同时还介绍应用程序和驱动程序之间的通信方法。   2.1 Windows操作系统概述    2.1.1 Windows家族    2.1.2 Windows特性    2.1.3 用户模式和内核模式    

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧